728x90
반응형
기본적인 다이나믹 프로그래밍 문제이다.
n = int(input())
dp = [-1]*(n+1)
dp[0] = 0
for i in range(1, n+1):
if i >= 2 and dp[i-2] > -1:
dp[i] = (dp[i-2]+1) if dp[i] == -1 else min(dp[i-2]+1, dp[i])
if i >= 5 and dp[i-5] > -1:
dp[i] = (dp[i-5]+1) if dp[i] == -1 else min(dp[i-5]+1, dp[i])
print(dp[n])
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 8394번 악수(python) (0) | 2021.03.19 |
---|---|
백준 알고리즘 19947번 투자의 귀재 배주형(python) (0) | 2021.03.19 |
백준 알고리즘 9655번 돌 게임(python) (0) | 2021.03.19 |
백준 알고리즘 13301번 타일 장식물(python) (0) | 2021.03.19 |
백준 알고리즘 9625번 BABBA(python) (0) | 2021.03.19 |