728x90
반응형
# 틀린 코드.. 왜?
n, k = map(int,input().split()) # n 개의 동전, k 원
coin = [0]*n
for i in range(n):
coin[i] = int(input())
dp = [10001]*(k+1)
dp[0] = 1
for i in coin :
for j in range(i, k+1):
if dp[j-i] != 10001 :
if dp[j] == 10001 :
dp[j]= 0
dp[j] += dp[j-i]
print(dp[k])
# 정답
n, k = map(int,input().split()) # n 개의 동전, k 원
coin = [0]*n
for i in range(n):
coin[i] = int(input())
dp = [0]*(k+1)
dp[0]=1
for i in coin :
for j in range(i, k+1):
if j-i >= 0 :
# j-i 를 만드는 방법에 지금 coin 값을 더하는 식을 세울 수 있으므로.
dp[j] += dp[j-i]
print(dp[k])
728x90
반응형
'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글
# 11055 가장 큰 증가 부분 수열 (0) | 2020.09.14 |
---|---|
# 1699 제곱수의 합 - (0) | 2020.09.13 |
# 11057 오르막 수 (0) | 2020.09.13 |
# 1010 다리 놓기 (0) | 2020.09.13 |
# 11052 카드 구매하기 - (0) | 2020.09.13 |