Baekjoon #2294

Baekjoon #2294

1개의 풀이 · Python

문제 원문 보기 ↗

SOLUTION INFO

Python · main.py

main.py
import sys
def input():
    return sys.stdin.readline().rstrip()

n, k = map(int, input().split())
coin = set([int(input()) for _ in range(n)]) #중복 동전 제거
dp = [0]*(k+1)

for i in range(1, k+1):
    possible = []
    for c in coin:
        if i-c >= 0 and dp[i-c] >= 0: # i-c원 경우에 c원 동전을 추가해서 i원을 만들 수 있는 경우
            possible.append(dp[i-c])
    if possible:
        dp[i] = min(possible) + 1 # optimal 값 + 1
    else:
        dp[i] = -1 #불가능!

print(dp[k])

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.