공부/백준(C++) - 2022~

백준 1712번: 손익분기점 [C++]

상연 2022. 1. 12. 21:55

목차

     

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

     

    1712번: 손익분기점

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

    www.acmicpc.net

     

    코드

    #include <iostream>
    using namespace std;
    
    int main() {
    	int A; // 고정 비용_필수 비용
    	int B; // 가변 비용_하나 제작 비용
    	int C; // 판매 가격
    
    	cin >> A >> B >> C;
    	if(C > B){
    		cout << (A / (C - B)) + 1;	
    	}
    	else{
    		cout << -1;
    	}
    
    	return 0;
    }

     

    설명

    문제에서 변수가 크게 3가지가 나온다.

    A - 제품에 상관없이 임대료, 재산세 등에 들어가는 비용

    B - 제품 한 개를 제작하는데 들어가는 비용

    C - 제품 판매 비용

     

    그렇다면 우리가 제품 1개를 판매했을때 얻을 수 있는 이득은?

    C - B 이다.

     

    그리고 A의 경우에는 제품을 1개를 생산하던 1만개를 생산하던 무조건 들어가는 비용이므로 우리는 C-B 로 얻은 수익을 우선적으로 A의 비용을 복구하는것에 사용해야한다.

    따라서 A - (C - B) * (판매대수) > 0 이 되게 하는 판매대수가 손익분기점이 되는 판매대수이다.

    하지만 여기서 C - B 가 음수나 0이면 제품을 생산할때마다 오히려 손해이기 때문에 -1 을 출력하고

    양수일 경우에는 A - (C - B) * (판매대수) > 0 을 충족하는 판매대수를 출력하면 된다.