노트북을 생산하는데 있어서 고정 비용과 가변비용 합산하고 판매하려는 노트북의 수를 고려한 총 가격을 비교하여 손익분기점을 찾는 문제이다.
문제에서 볼 수 있다시피 노트북 판매 대수와 상관없이 드는 가격을 A
한대의 노트북을 생산하는데 드는 가변비용을 B
노트북 가격을 C
라 한다면 수식은 A + B X N(노트북 수) > C X N(노트북 수)
임을 알 수 있다. 단순하게 for문을 돌려 해결하려고 하니 왠지 찝찝하게 걸렸던게 정답 비율과 시간 제한이었다.
그래서 N을 알아야 하기 때문에 N을 좌항으로 넘기면 N > A / (C - B)
일 때의 N을 찾으면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BreakEvenPoint {
static int A, B, C;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
A = Integer.parseInt(st.nextToken());
B = Integer.parseInt(st.nextToken());
C = Integer.parseInt(st.nextToken());
if (C <= B) // <- 주의 필요!
System.out.println("-1");
else
System.out.println(A / (C - B) + 1);
}
}
앞서 문제 이해에서 설명했다시피 N > A / (C - B)
일 때의 N의 값을 구하는 코드이다. 여기서 주의해야할 점은 C-B가 음수가 되거나 0이 되었을 때는 손익분기점이 존재하지 않는다는 것이다.