dlcksdnd98   2년 전

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

문제 조건이 위와 같은데, 왜 A가 V보다 클때도 고려해야하는지 잘 모르겠습니다.

당연히 v < a일땐 생각 안 하는줄 알았어요.

뭐가 문제일까 몇 시간을 생각하다가 v <= a로 바꿔 제출하니 바로 정답처리가 되더군요.

 문제에선 분명 A ≤ V으로 명시가 되어있는데 왜 V가 A보다 작은 경우까지 생각 해야 하는 것이죠??

a, b, v = map(int, input().split())
r = (v - a) % (a - b)
q = (v - a)//(a - b)
if v == a: #이 부분입니다.
    t = 1
elif q == 0:
    t = 2
elif q != 0:
    if r == 0:
        t = q + 1
    else: 
        t = q + 2
print(t)

kimhs   2년 전

확인해 본 결과 A > V인 입력은 없었습니다.

그리고 질문하신 코드 그대로 제출해도 정답처리됩니다.

다른 부분에 오타가 없었는지 다시 확인해주세요.

dlcksdnd98   2년 전

앗 그렇네요...ㅜㅜ 제가 뭔가를 놓쳤나 보군요...

답변해주셔서 감사합니다!

댓글을 작성하려면 로그인해야 합니다.