문제 링크
https://www.acmicpc.net/problem/1712
나의 코드 (java)
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
// 고정 비용
int a = sc.nextInt();
// 가변 비용
int b = sc.nextInt();
// 수입
int c = sc.nextInt();
if (b >= c){
// 손익분기점이 존재하지 않는 경우
System.out.println(-1);
} else {
// 손익분기점을 넘는 경우
System.out.println(a/(c-b)+1);
}
}
}
저는 처음에 이 문제의 접근 방법으로 변수를 두 개 두어 하나의 변수는 가변 비용을 계속 증가시키고 다른 변수는 수입을 증가시켜 결과를 찾아봤습니다.
하지만 굉장히 많은 연산을 요구하여 실행시간이 말도 안 되게 길게 나오는 문제가 있어서 위처럼 코드를 수정했습니다.
a/(c-b)+1이라는 식을 세워서 연산과정을 줄였습니다.
'코딩공부 > 백준 (java)' 카테고리의 다른 글
[백준 1193] 분수찾기 (java) (0) | 2021.07.26 |
---|---|
[백준 2292] 벌집 (java) (0) | 2021.07.25 |
[백준 1316] 그룹 단어 체커 (java) (0) | 2021.07.18 |
[백준 2941] 크로아티아 알파벳 (java) (0) | 2021.07.17 |
[백준 5622] 다이얼 (java) (0) | 2021.07.16 |
댓글