728x90

- N가지 종류의 화폐

- 화폐들의 개수를 최소한으로 이용해서 가치의 합이 M원이 되도록 함

 

=> 경우의 수 출력

 

n, m = map(int, input().split())

data = []
for i in range(n):
    data.append(int(input()))

d = [10001] * (m+1)

d[0] = 0
for i in range(n):
    for j in range(data[i], m+1):
        if d[j-data[i]] != 10001:
            d[j] = min(d[j], d[j-data[i]]+1)
            
if d[m] == 10001:
    print(-1)
else:
    print(d[m])

반응형

'전.py' 카테고리의 다른 글

[python] 프로그래머스 개인정보 수집 유효기간  (2) 2023.01.11
[python] 프로그래머스 성격 유형 검사하기  (0) 2023.01.11
[python] 바닥 공사  (0) 2022.07.21
[python] 개미 전사  (0) 2022.07.21
[python] 1로 만들기  (0) 2022.07.21
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기