반응형
https://www.acmicpc.net/problem/1712
- 문제
- 문제 풀이
백준 1712번 손익분기점은 브론즈 난이도의 2의 수학 문제이다. 이 문제에서는 자연수 A, B, C가 주어진다. A는 고정 비용, B는 가변 비용 그리고 C는 판매 비용을 뜻한다. 그리고 몇 개를 팔아야지 최초로 이익이 발생하는지를 출력하면 된다.
이 문제에서 나오는 것처럼 n개의 물건을 만드는데 드는 비용은 A + Bn이라고 한다. 그리고 물건을 n개를 팔 때 벌어들이는 돈은 Cn이다. 따라서 최초로 수익이 발생하기 위해서는 다음과 같이 공식을 쓸 수 있다.
Cn > A + Bn
Cn - Bn > A
n (C - B) > A
n > A / (C - B)가 성립한다.
문제에서 주어진 예시를 한번 보겠다.
EX 1) A = 100, B = 70, C = 170
n > 100 / (170 - 70)
n > 100 / 10 = n > 10이다.
따라서 최초로 이익이 발생하는 판매량은 11이다.
EX 2) A = 3, B = 2, C = 1
n > 3 / (1 - 2)
n > 3 / (-1)
음수가 나오니 이익은 발생하지 않으므로 답은 -1이다.
EX 3) A = 2100000000, B = 9, C = 10
n > 2100000000 / (10 - 9)
n > 2100000000 / 1
n > 2100000000이므로 최초로 이익이 발생하는 판매량은 2100000001이다.
자세한 코드는 밑에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
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 == 0) { //분모가 0이면 손익분기점을 구할 수 없으므로 -1 출력
System.out.print(-1);
return;
}
int x = a / (c - b);
if (x < 0) {
System.out.print(-1);
} else {
System.out.print(x + 1);
}
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 1316번 : 그룹 단어 체커 – JAVA [자바] (0) | 2022.07.09 |
---|---|
[백준] 10828번 : 스택 – JAVA [자바] (0) | 2022.07.09 |
[백준] 5622번 : 다이얼 – JAVA [자바] (0) | 2022.07.09 |
[백준] 1463번 : 1로 만들기 – JAVA [자바] (0) | 2022.07.09 |
[백준] 2440번 : 별 찍기 - 3 – JAVA [자바] (0) | 2022.07.09 |
댓글