티스토리 뷰

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

d = [10001]*(m+1)

d[0] = 0
for i in k:  # 화폐 종류마다 반복
    for j in range(i, m+1):  # 화폐가 3이면 3부터 셀 수 있도록
        if d[j-i] != 10001:  # d[j-i]값이 바뀌었다면
            d[j] = min(d[j], d[j-i]+1)

print(d[m])

'Python > 이코테' 카테고리의 다른 글

8-4. 바닥 공사  (0) 2022.07.15
8-3. 개미 전사  (0) 2022.07.15
8-1. 다이나믹 프로그래밍  (0) 2022.07.13
8-2. 1로 만들기  (0) 2022.07.10
7-1. 범위를 반 씩 줄여가는 탐색  (0) 2022.07.10
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday