728x90
반응형
문제:
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 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을 출력한다.
풀이 방법:
우선 B가 C보다 크다면 A를 메꿀 수 없기 때문에 손익 분기점이 존재할 수 없다.
즉 이 말은 B와 C의 차이가 언제 A만원을 메꿀 수 있냐를 묻는 문제이므로 A를 (c-b) 준 값의 ceil을 해주면 쉽게 구할 수 있다.
1 2 3 4 5 6 7 8 9 | def Break_even_point(a,b,c): if b >= c: return -1 else: sell=a/(c-b)+1 return int(sell) a,b,c=map(int,input().split()) print(Break_even_point(a,b,c)) | cs |
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[BOJ]11047. 동전0 (0) | 2019.07.14 |
---|---|
[BOJ]1931. 회의실배정 (0) | 2019.07.13 |
[BOJ]3053. 택시 기하학 (1) | 2019.07.11 |
[BOJ]1904. 01타일 (0) | 2019.07.10 |
[Programmers]Lv 3. 기지국 설치 (0) | 2019.07.09 |