728x90
반응형
Bronze I
# 2839 설탕배달
링크 : https://www.acmicpc.net/problem/2839
풀이
N = int(input())
dp = [-1 for i in range(N+3)]\
dp[3] = 1
dp[5] = 1
for i in range(3, N+1):
if dp[i-3] != -1 and dp[i-5] != -1:
dp[i] = min(dp[i-3], dp[i-5]) + 1
elif dp[i-3] != -1:
dp[i] = dp[i-3] + 1
elif dp[i-5] != -1:
dp[i] = dp[i-5] + 1
print(dp[N])
후기
- 문제 의도와는 다를 수 있지만, 한창 공부 중인 동적계획법으로 접근해보았다.
'Algorithm Study > Python' 카테고리의 다른 글
[백준 파이썬] # 2941 크로아티아 알파벳 (0) | 2022.02.18 |
---|---|
[백준 파이썬] # 2869 달팽이는 올라가고 싶다 (0) | 2022.02.17 |
[백준 파이썬] # 1463 1로 만들기 (0) | 2022.02.17 |
[백준 파이썬] # 11053 가장 긴 증가하는 부분 수열 (복습 필요) (0) | 2022.02.16 |
[백준 파이썬] # 2292 벌집 (0) | 2022.02.15 |