문제
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.
예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.
노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.
A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다.
출력
첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다.
[풀이방법]
문제를 읽어본 후 한 번에 정리가 되지 않아 수식으로 정리를 해보았다.
1. 변수 정리
A >> 고정 비용
B >> 가변 비용
C >> 책정된 가격
C*n > A+(B*n) == true >> 손익분기점(총수입 > 총비용)
2. 손익분기점 계산
문제에 따르면 총 수입이 총 비용과 같거나 작을 때 -1을 출력시켜야한다.
아래와 같이 총 수입과 총 비용을 계산하기 용이하도록 위의 수식을 다시 한 번 정리했다.
C*n = A+(B*n)
> A = (C*n)-(B*n)
> A = (C-B)n
> n = A/(C-B)
위의 수식에서 n이 0 이하일 때 -1을 출력시켜야 한다.
A는 고정 비용이기 때문에 변화하지 않는다. 그렇다면 C-B가 0 혹은 0보다 작아야 n이 0 이하가 될 수 있다.
C가 B보다 작거나 같을 때 n은 0일 수 있다는 것을 확인할 수 있다.
이 때 -1을 출력한다.
if (C <= B) {
System.out.println(-1);
}
그리고 n이 0보다 클 때 위의 수식에서 1을 더하여 손익분기점을 계산할 수 있다.
System.out.println((A/(C-B))+1);
구체적인 풀이 방식 및 BufferedReader를 이용한 방식은 아래의 블로그를 참고하면 좋을 것 같다.
# 전체 코드
import java.util.Scanner;
public class ch8_1 {
public static void main(String[] args) {
/*
A 고정 비용
B 가변 비용
C 책정된 가격
C * n > A + (B * n) >> true일 때 손익분기점
*/
// #1
// Scanner sc = new Scanner(System.in);
// int A = sc.nextInt();
// int B = sc.nextInt();
// int C = sc.nextInt();
// #2
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
if (C <= B) {
System.out.println(-1);
} else {
System.out.println((A/(C-B))+1);
}
}
}
'STUDY > 백준알고리즘' 카테고리의 다른 글
[1330:JAVA] if문 > 두 수 비교하기 (0) | 2022.03.11 |
---|---|
[2292:JAVA] 기본 수학 1 > 벌집 (0) | 2022.02.24 |
[1316:JAVA] 함수 > 그룹 단어 체커 (0) | 2022.02.21 |
[1152:JAVA] 함수 > 단어의 개수 (0) | 2022.02.20 |
[1065:JAVA] 함수 > 한수 (0) | 2022.02.09 |