์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด
[๋ฐฑ์ค] ๋์ 2 python
JihyunLee
2019. 12. 5. 17:02
๋ฐ์ํ
๋์ 2 ๋ฌธ์ ๋ฅผ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํ์ด ๋ณด์๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import sys
def main():
K, N = map(int, sys.stdin.readline().split())
coins = []
for _ in range(K):
coins.append(int(sys.stdin.readline()))
d = [-1 for _ in range(N+1)]
d[0] = 0
for i in coins:
if(i<=N):
d[i] = 1
# dp : ์ฌ์ฉํ๋ ๋์ ์
for i in coins:
for j in range(i, N+1):
if(d[j-i]==-1):
continue
elif(d[j]==-1 or d[j]>d[j-i]+1):
d[j] = d[j-i]+1
print(d[N])
if __name__ =="__main__":
main()
|
cs |
๋ฐ์ํ