[PYTHON] 1712 손익분기점 ZeroDivisionError

    https://www.acmicpc.net/problem/1712

     

    1712번: 손익분기점

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

    www.acmicpc.net

    문제 풀이

      • 방정식을 나타낸다.
        • A + Bx < Cx
          A/(B-C) <x
      • 최소 노트북 개수는 A/(B-C)의 +1한 값의 내림값이다.
      • 만약 A/(B-C)이 11.2이면 손익분기점을 넘는 노트북의 개수는 12개(11.2+1 = 12.1 => 12.1의 내림 12)이다.
      • 만약 B-C가 음수이면 손익 분기점을 내지 못해 -1를 출력한다.
      • 만약 B-C가 0이면 0으로 나눌수 없기 때문에 -1를 출력한다.

    solution - 실패

    • B-C가 0일때를 고려하지 못했다.
      • ZeroDivisionError 발생했다.
    import sys
    import math
    A,B,C = map(int, sys.stdin.readline().strip().split())
    answer = math.floor(A/(C-B)+1)
    if answer > 0:
      print(answer)
    else:
      print(-1)

    solution - 성공

    import sys
    import math
    A,B,C = map(int, sys.stdin.readline().strip().split())
    
    if B>= C:
      print(-1)
    else:
      print(math.floor(A/(C-B)+1))

    댓글