ebson

boj.kr/2293 동전1 (gold5) 파이썬 풀이 본문

ALGORITHM STUDY WITH PYTHON/DP

boj.kr/2293 동전1 (gold5) 파이썬 풀이

ebson 2023. 6. 11. 20:59

1. dp를 목표금액 길이만큼 0으로 초기화

2. dp[0]을 1로 초기화 (코인 1개를 사용하는 경우)

3. coins를 순회하면서 아래를 반복

3.1. 현재 코인금액부터 목표금액까지 순회하면서 순회하는 인덱스(i) -현재코인금액(c)이 0이상이면, dp[i] += dp[i-c]

4. dp의 마지막 원소를 출력

 

N, K = map(int, input().split())
coins = []
for _ in range(N):
    coins.append(int(input()))

dp = [0 for _ in range(K+1)]
dp[0] = 1

for c in coins:
    for i in range(c, K+1):
        if i-c >= 0:
            dp[i] += dp[i-c]

print(dp[K])

 

dp[n] 을 n금액을 만드는 모든 경우의 수로 저장할 수 있다.

Comments