PS/Baekjoon

[Baekjoon] 1712 - 손익분기점

서현 SEOHYEON 2023. 1. 6. 11:55

📝 문제

 

 

🔑 풀이 과정

노트북을 n대 제작할 때, 생산비용 = A + Bn

우리는 Cn > A + Bn이 되는 n값을 구하는 것이 목표

 

여기서 중요한 것은 Cn이 A + Bn보다 무조건 커야한다.

Cn이 A + Bn과 같은 순간은, 적자도 흑자도 아닌 딱 0원상태이다

우린 1원이라도 수익을 갖는 순간을 구해야 하는것.

 

Cn > A + Bn 

이 식을 풀면 n > A/(C-B)가 된다.

C-B가 0이거나 음수가 나오면 손익분기점 존재 X

처음엔 C-B가 0일때를 생각안하고 제출했더니 런타임에러(/ by zero) 발생.

 

또한 A / (C-B)을 계산해 주고 1을 더해줘야 이익이 발생하는 판매량을 구할 수 있음

(ex, A / (C-B)가 10이 나오면 우리가 구해야하는 판매량 = 11)

 

 

 

🔓 답안

import java.io.*;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int A = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());
        int C = Integer.parseInt(st.nextToken());

        int result;
        if(C <= B){
            result = -1;
        } else{
            result = (A / (C-B)) + 1;
        }

        bw.write(result + "\n");
        bw.flush();
        bw.close();
    }

}