[백준 DP] 카드 구매하기2(python)

이진규·2022년 8월 27일
1

백준(PYTHON)

목록 보기
84/115

문제

https://www.acmicpc.net/problem/11052

나의 코드


from sys import stdin
input = stdin.readline

n = int(input())
p = [0] + list(map(int, input().split()))
dp = [1e9] * (n+1)

for i in range(1, n+1):
    dp[i] = p[i] # 이 부분을 꼭 추가해줘야 함.(i번째 카드를 1장 사는것을 기초로 다음 반복문에서 최솟값을 구하기 때문에 초기화가 필요)
    for j in range(1, i+1):
        dp[i] = min(dp[i], dp[i-j]+p[j])

print(dp[n])

    

느낀점

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글