코딩테스트/백준
백준 [1712] - 손익분기점
문제
작성한 코드
import sys
input = sys.stdin.readline
A, B, C = map(int, input().split())
if C <= B:
print(-1)
else:
result = A // (C-B)
print(result+1)
- A=고정비용, B=가변비용, C=판매비용 / count = 개수
- 손익분기점 구하는 식
: C*count = A + B*count
: A = (C-B) * count
: count = A // (C-B)
- count+1 해줘야 손익분기점
- sys.stdin.readline을 input에 할당하여 사용한다.
- input()으로 문자를 입력받고, split()으로 구분한 뒤, int형으로 형변환하여 map()으로 A, B, C에 각각 할당한다.
- 위의 식에 따르면 (C-B)가 분모로, 0이 되거나 0보다 작을 경우 식이 성립하지 않는다.
- 때문에, 만약 C가 B보다 작거나 같은 경우, 손익분기점이 성립되지 않기 때문에 print()로 -1을 출력해준다.
- 위의 케이스가 아닌 경우, 손익분기점을 계산하여 result에 저장하고, +1을 해주어 print()로 출력한다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 [1193] - 분수찾기 (0) | 2022.08.24 |
---|---|
백준 [2292] - 벌집 (0) | 2022.08.24 |
백준 [1316] - 그룹 단어 체커 (0) | 2022.08.23 |
백준 [2941] - 크로아티아 알파벳 (0) | 2022.08.23 |
백준 [5622] - 다이얼 (0) | 2022.08.23 |
댓글