백준/다이나믹 프로그래밍
# 2293 동전 1
bright_code
2020. 9. 13. 21:51
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
반응형