문제풀이

[PY] 14916 : 거스름돈

pwerty 2025. 4. 10. 16:57

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

처음에 5까지 hard code 박아놓고 5부터 하니까 틀려서 너무 놀람.

하나 더 , -1로 처리하는 걸 생각을 못해서 96%에서 틀려서 더 놀람.

두 개 빼곤 다 괜찮았다.

import sys
input = sys.stdin.readline

dp = [float('inf')] * 100001

dp[2] = 1
dp[4] = 2
dp[5] = 1

for i in range(6, 100001):
    dp[i] = min(dp[i - 5] + 1, dp[i - 2] + 1)

wanted = int(input())

if(dp[wanted] == float('inf')):
    print('-1')
else:
    print(dp[wanted])