여러 단위의 동전들이 주어져 있을때 거스름 돈을 가장 적은 수의 동전으로 교환해주려면?
function solution(m, arr){
let answer=Number.MAX_SAFE_INTEGER;
let n=arr.length;
function DFS(L, sum){
if(sum>m) return;
if(L>=answer) return;
if(sum===m){
answer=Math.min(answer, L);
}
else{
for(let i=0; i<n; i++){
DFS(L+1, sum+arr[i]);
}
}
}
DFS(0, 0);
return answer;
}
let arr=[1, 2, 5];
console.log(solution(15, arr));