[백준] 14916번 거스름돈

거북이·2023년 1월 5일
0

백준[실버5]

목록 보기
58/114
post-thumbnail

💡문제접근

만약 거스름돈이 5의 배수라면 5로 나눈 몫만큼 동전의 개수를 추가해주고 5의 배수가 아니라면 2씩 빼주면서 거스름돈의 개수를 하나씩 증가시켜준다.
이 때, 만약 거스름돈의 액수가 0원이 된다면 거스른 동전의 개수를 출력해주고 만약 1이거나 음수가 나오면 거슬러 줄 수 없는 액수라는 의미가 되므로 -1을 출력한다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

n = int(input())

coin = 0
while True:
    if n == 0:
        break
    else:
        if n % 5 == 0:
            coin += (n // 5)
        else:
            n -= 2
            coin += 1

    if n == 1:
        print(-1)
        break
    if n < 0:
        print(-1)
        break

💡소요시간 : 4m

0개의 댓글