본문 바로가기
Problem Solving/BOJ

[DP] python 2294 동전2

by Bokoo14 2023. 1. 29.

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

 

2294번: 동전 2

첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주

www.acmicpc.net

# 2023.01.28
import sys
input = sys.stdin.readline

n, k = map(int, input().split())
value = [int(input()) for _ in range(n)]

dp=[10**9]*(k+1) # 동전의 개수
dp[0]=0 # 0은 동전을 0개 선택함
for v in value: # 동전의 가치
    for index in range(v, k+1):
        if index>=v: 
            dp[index]=min(dp[index], dp[index-v]+1)

if dp[k]!=10**9:
    print(dp[k])
else:
    print(-1)

'Problem Solving > BOJ' 카테고리의 다른 글

[DP] python 1890 점프  (0) 2023.01.29
[DP] python 11048 이동하기  (0) 2023.01.29
[Recursion] 11057 오르막수  (0) 2023.01.29
[DP] python 10844 쉬운 계단  (0) 2023.01.29
[DP] python 2293 동전1  (0) 2023.01.28