๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold5] 2293๋ฒˆ_๋™์ „1

Dbswnstjd 2023. 2. 11. 20:07

๋ฌธ์ œ

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

 

2293๋ฒˆ: ๋™์ „ 1

์ฒซ์งธ ์ค„์— n, k๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ๋™์ „์˜ ๊ฐ€์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋™์ „์˜ ๊ฐ€์น˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 2293๋ฒˆ ๋ฌธ์ œ - ๋™์ „ 1
n, k = map(int, input().split())
coin = [int(input()) for _ in range(n)]
dp = [0 for i in range(k+1)] 
dp[0] = 1
for i in coin:
    for j in range(i, k+1):
        if j - i >= 0:
            dp[j] += dp[j-i]
print(dp[k])