728x90
SMALL
DP 문제
https://www.acmicpc.net/problem/9084
💡 풀이 코드
import sys
t = int(sys.stdin.readline())
for _ in range(t):
n = int(sys.stdin.readline())
c = list(map(int, sys.stdin.readline().split()))
price = int(sys.stdin.readline())
dp = [[0] * (price + 1) for _ in range(n + 1)]
for i in range(1, n + 1):
dp[i][0] = 1
def coin(n, c, price):
for i in range(1, n + 1):
for j in range(1, price + 1):
if j - c[i - 1] < 0 : coinComb = 0
else: coinComb = dp[i][j - c[i - 1]]
dp[i][j] = dp[i - 1][j] + coinComb
coin(n, c, price)
print(dp[n][price])
728x90
LIST
'Algorithm > DP' 카테고리의 다른 글
[백준] 12865 : 평범한 배낭 (파이썬) (2) | 2024.07.24 |
---|---|
[백준] 2011번 : 암호코드 (파이썬) (0) | 2024.07.21 |
[백준] 2294번 : 동전 2 (파이썬) (0) | 2024.02.18 |
[백준] 11054번 : 가장 긴 바이토닉 부분 수열 (파이썬) (2) | 2024.01.22 |
[백준] 2565번 : 전깃줄 (파이썬) (0) | 2024.01.20 |