Skip to content

Commit

Permalink
#10 22.06.06 > 4번 문제 풀기
Browse files Browse the repository at this point in the history
  • Loading branch information
beurmuz committed Jun 5, 2022
1 parent b8d4e8f commit 05b35a4
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/inf/dynamic_programing/4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
'use strict';
function solution(m, coin) {
let answer = 0;
let dy = Array.from({ length: m+1 }, () => 1000);
dy[0] = 0;

for(let i = 0; i < coin.length; i++) { // 동전의 종류만큼 반복
for(let j = coin[i]; j <= m; j++) {
dy[j] = Math.min(dy[j], dy[j-coin[i]]+1); // 기존 금액, coin[i]
}
console.log(dy); // 1원만 / 1,2원 / 1,2,5원
}
answer = dy[m];
return answer;
}

let coinList = [1, 2, 5];
console.log(solution(15, coinList));

/*
작은 단위에서부터 점차 확대시켜 푸는 방법
- dy: 거슬러줄 금액의 인덱스 번호가 나오도록 배열 만들어주기
- 0이 아닌 큰 수로 초기화해주기
- 인덱스 번호 = 거슬러줄 금액
- dy[i]는 i금액을 거슬러주는 데 사용된 최소동전의 개수
- dy[0] = 0 으로 초기화해야 함
*/

0 comments on commit 05b35a4

Please sign in to comment.