이것이 취업을 위한 코딩 테스트다. 다이나믹 프로그래밍 [효율적인 화폐 구성]
이것이 취업을 위한 코딩 테스트다. with 파이썬 - 나동빈
N, M = map(int, input().split())
array = []
for i in range(N):
array.append(int(input()))
d = [10001] * (M + 1) # 0 - M까지
d[0] = 0
for i in range(N):
for j in range(array[i], M + 1):
if d[j - array[i]] != 10001:
d[j] = min(d[j], d[j - array[i]] + 1)
print()
if d[M] != 10001:
print(d[M])
else:
print(-1)
느낀점
점화식을 세우는게 너무 어렵다.
Author And Source
이 문제에 관하여(이것이 취업을 위한 코딩 테스트다. 다이나믹 프로그래밍 [효율적인 화폐 구성]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@goshk95/이것이-취업을-위한-코딩-테스트다.-다이나믹-프로그래밍-효율적인-화폐-구성저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)