모든 경우의수를 비교해봐야 한다.
n = int(input())
price = list(map(int, input().split()))
price_list = [0]
for p in price:
price_list.append(p)
dp = [
0 for _ in range(n + 1)
]
dp[1] = price_list[1]
for i in range(2, n+1):
for j in range(1, i + 1):
if dp[i] < dp[i-j] + price_list[j]:
dp[i] = dp[i-j] + price_list[j]
print(dp[n])
'Algorithm(BOJ, Python) > Dynamic Programing' 카테고리의 다른 글
[백준_2688] 줄어들지 않아 python (0) | 2022.06.27 |
---|---|
[백준_10164] 격자상의 경로 python (0) | 2022.06.26 |
[백준_2502] 떡 먹는 호랑이 python (0) | 2022.06.23 |
[백준_17271] 리그 오브 레전설 (Small) python (0) | 2022.06.22 |
[백준_2225] 합분해 python (0) | 2022.06.21 |