백준 문제풀이/수학(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