[BOJ/백준-Python]1712번 - 손익분기점

1712번 - 손익분기점

문제

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

예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.

노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.

A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다.

출력

첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다.

예제 입력 1

1000 70 170

예제 출력 1

11

예제 입력 2

3 2 1

예제 출력 2

-1

예제 입력 3

2100000000 9 10

예제 출력 3

2100000001

해결할 방법을 생각해보자.💡

고정비용 A, 가변비용 B, 노트북 가격 C를 입력받자.

A, B, C = map(int, input().split())

잘 생각해보자. 노트북 1대의 가격이 C이고, 1대를 만들 때마다 생기는 비용이 B라면 C-B가 1대를 팔때마다 생기는 이익이다. 이 이익이 문제를 해결하는 키 포인트다.

earn = C - B

만약 이익(earn)이 0이거나 0보다 작은 음수(-)라면 만들 때 마다 손해를 보는 것이다. 예제 2번을 보면 노트북을 만드는 것 자체가 손해인 경우인 것을 알 수 있다. 그러한 경우에는 -1을 출력하게 만들어주자.

if earn <= 0:
    print(-1)

만약 1이상의 이익이 생긴다면 손익분기점을 넘기기 위한 노트북 판매 개수를 어떻게 산정해야할까?

간단하다. 고정비용 A를 이익으로 나눠주고, 그 몫에다가 1을 더해주면 손익분기점을 넘기기위한 판매 수량이 나온다. 예를들어보자면, 예제 1번처럼 A가 1000, B가 70, C가 170이면 노트북 한 대를 판매할 때마다 생기는 이익은 100이다. 여기서 고정비용을 넘겨야 손익분기점이다. 따라서, 1000을 100으로 나눠주면 그 몫은 10이다. 여기서 10대를 판매할 경우에는 손익분기점에 딱 걸친다.(0이 되므로) 그래서 넘기기 위해서는 1을 더해서(한 대를 더 판매) 계산해주면된다.

else:
    sell = (A // earn) + 1
    print(sell)

코드💻

A, B, C = map(int, input().split())

earn = C - B 

if earn <= 0:
    print(-1)
else:
    sell = (A // earn) + 1
    print(sell)

해결 로그

문제 푼 날짜 체크
2022-05-31
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑