1일 1백준

1일 1백준 : 1712번 손익분기점

gaonhae 2022. 6. 14. 13:53

1일 1백준 2일차, 오늘 푼 문제는 1712번 문제인 "손익분기점"이다.

 

 

 

 

https://www.acmicpc.net/problem/1712

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net

 

 

 

처음엔 for문을 돌리면서 i의 값을 증가시키고

a + b*i < c*i와 같은 조건식을 만족시키면 그 i의 값을 출력시키는 방식을 사용했다.

 

하지만 이 문제의 시간 제한을 만족시키지 못했고, 이내 내가 얼마나 비효율적인 알고리즘을 채택했는지 깨달았다.

그냥 a/(c-b)+1의 값을 출력하면 반복문 자체가 필요하지 않은 문제였기 떄문이다.

 

손익분기점이 존재하는지 판단하는 방법으로는 b와 c의 크기 비교를 선택했다.

생산 비용이 판매 수익보다 비싸면 절대 손익분기점을 넘지 못하는 것은 당연한 이치이기 때문이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

아래로 내리면 정답 코드가 나옵니다. 문제를 아직 풀지 않으신 분들은 주의해주세요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import java.util.Scanner;

public class pro1712 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();

        if( b >= c){
            System.out.println("-1");
        }
        else{
            System.out.println(a/(c-b) + 1);
        }

    }
}