본문 바로가기
Algorithm(BOJ, Python)/Dynamic Programing

[백준_11052] 카드 구매하기 python

by kurooru 2022. 6. 25.

모든 경우의수를 비교해봐야 한다.

dp구현과정

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])