DP
n=int(input())
d=[5001]*5001
d[3]=1
d[5]=1
for i in range(6,n+1):
if d[i-3]==5001:
pass
else:
d[i]=min(d[i],d[i-3]+1)
if d[i-5]==5001:
pass
else:
d[i]=min(d[i],d[i-5]+1)
if d[n]==5001:
print(-1)
else:
print(d[n])
'코딩 테스트 > 문제 풀기' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리 (0) | 2021.03.15 |
---|---|
[프로그래머스] 땅따먹기 (0) | 2021.03.11 |
[프로그래머스] 다음 큰 숫자 (0) | 2021.03.11 |
[백준 18352번] 특정 거리의 도시 찾기 (0) | 2021.03.10 |
[백준 9095] 1,2,3 더하기 (0) | 2021.02.28 |
댓글