반응형
문제
풀이
package step8;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
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) {
System.out.println("-1");
}else {
System.out.println((a / (c - b)) + 1);
}
br.close();
}
}
팁
- 총 수입이 총 비용보다 많아져 이익이 발생하는 지점의 판매량을 구하는 문제이다.
판매량이 n개 일 때, 아래 식을 만족 하는 n을 구해야 한다.
n * c(노트북 가격) > a(고정 비용) + n * b(가변 비용)
- 총 수입 = 총 비용인 시점
여기서 이익이 발생하려면 최소 1이상 많아야 한다.
- 또한, 판매량은 음수가 될 수 없다. => 음수가 되면 이익이 발생하지 않는다.
분모인 c - b가 0이거나 음수이면 이익이 발생하지 않는다.
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준/단계별로 풀어보기] 8. 기본 수학 1 - 1193.분수찾기 (Java8) (0) | 2021.09.13 |
---|---|
[백준/단계별로 풀어보기] 8. 기본 수학 1 - 2292.벌집 (Java8) (0) | 2021.09.13 |
[백준/단계별로 풀어보기] 7. 문자열 - 1316.그룹 단어 체커 (Java8) (0) | 2021.09.08 |
[백준/단계별로 풀어보기] 7. 문자열 - 2941.크로아티아 알파벳 (Java8) (0) | 2021.09.06 |
[백준/단계별로 풀어보기] 7. 문자열 - 5622.다이얼 (Java8) (0) | 2021.09.06 |