반응형
백준 1712번 문제입니다.
A는 매년 무조건 드는 비용
B는 물건을 만드는데 드는 비용
C는 물건의 개수
n은 손익분기점
손익분기점을 구하기 위해서는 B가 C보다 작아야한다.
그리고 손익분기점은 A+n*B > C*n이다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextInt();
long b = sc.nextInt();
long c = sc.nextInt();
long n = 1;
while (a + n * b >= c * n && b < c) {
n++;
}
if (b > c)
n = -1;
System.out.print(n);
}
}
그래서 while문을 이용했는데 시간초과라는 결과가 나왔다.
아무래도 B와 C의 차이가 적으면 개수가 많이 커지기 때문에 수학을 이용해야한다.
C에서 B를 뺀 값은 물건 하나를 팔아서 번 수익이다.
A에서 C-B의 값을 나눈 뒤 1을 더하면 손익분기점이 된다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextInt();
long b = sc.nextInt();
long c = sc.nextInt();
System.out.print(b < c ? (a / (c - b)) + 1 : -1);
}
}
이렇게 풀면
풀 수 있다.
반응형
'🔑알고리즘 > baekjoon' 카테고리의 다른 글
백준 10250 : ACM 호텔 - 자바(Java) 문제 풀이 (0) | 2021.08.15 |
---|---|
백준 2292 : 벌집 - 자바 문제 풀이 (수학 문제) (0) | 2021.08.04 |
백준 5622 : 다이얼 - 자바 문제 풀이 (문자열을 문자 배열로) (0) | 2021.07.29 |
백준 2908 : 상수 - 자바 문제 풀이 (문자열 정수로 변환하기) (0) | 2021.07.29 |
백준 1152 : 단어의 개수 - 자바 문제 풀이 (문자열 배열 공백 지우기) (0) | 2021.07.29 |