백준 문제풀이/수학(Math)
백준 온라인 저지 - 손익분기점(#1712) 파이썬
Itscool
2021. 7. 30. 10:06
문제설명
단계별로 풀어보기 기본수학1 첫번째 문제인 손익분기점 입니다. 저는 BEP(Break-Even-Point)를 BEP = int(a/(c-b)) + 1로 두고, BEP가 0보다 크면 BEP를, 0보다 작으면 손익분기점이 존재하지 않기 때문에 -1을 출력하게 하고, 0으로 나눴을 때 발생하는 ZeroDivisionEroor를 방지하기 위해 try-except문을 활용하여 0으로 나누었을 때는 -1을 출력하도록 소스코드를 짰습니다. 여기서 주의할 점은 BEP를 정의할 때 try문 밖에 쓰면 ZeroDivisionError가 발생한다는 점!
손익분기점(# 1712) 파이썬 코드
a, b, c = map(int, input().split())
while True:
try:
bep = int(a/(c-b)) + 1 #try문 밖에 쓰면 ZeroDivsionError 발생
if bep > 0:
print(bep)
else:
print(-1)
except ZeroDivisionError:
print(-1)
break