코딩테스트/BOJ

[백준][DP] 설탕 배달

박소민 2026. 2. 16. 16:48
설탕 배달

 

  • 초기화할때 n이 초기화하는 값보다 작은 경우를 고려해줘야함
n=int(input())
dp=[float('inf') for _ in range(n+1)]
if n>=3:
    dp[3]=1
if n>=5:
    dp[5]=1

for i in range(5, n+1):
    dp[i]=min(dp[i],min(dp[i-3],dp[i-5])+1)

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