개발 연습장/백준 문제풀이

[파이썬, Python] 백준 14916: 거스름돈

LooanCheong 2023. 5. 25. 10:23
반응형

문제

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

 

14916번: 거스름돈

첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.

www.acmicpc.net

코드

n = int(input())
cnt = 0

while n > 0:
    if n % 5 == 0:
        cnt += n // 5
        break
    else:
        n -= 2
        cnt += 1
    
if n < 0:
    print(-1)
else:
    print(cnt)

설명

단순하게 5원부터 지급하고 나머지를 2원을 지급하려고 하면 오류가 난다.

거스름돈이 5의 배수여서 딱 나누어 떨어진다면 상관이 없지만
그렇지 않다면 2를 우선 빼주어서 계산을 해야 한다.

2를 빼다가 음수로 넘어가서 n이 음수가 된다면 -1을 출력하고
그렇지 않다면 결괏값을 출력해 주자.

반응형