철수가 그의 트럭이 태울 수 있는 최대한인 C킬로그램 내로 최대한 바둑이들을 무겁게 태우고 싶어한다. 철수가 트럭에 태울 수 있는 가장 무거운 무게를 구하는 프로그램을 작성하시오.
function solution(c, arr){
let answer=0;
let max=Number.MIN_SAFE_INTEGER;
function DFS(L, sum) {
if (L===arr.length) {
if (max < sum && c > sum) max=sum;
}
else {
DFS(L+1, sum+arr[L]);
DFS(L+1, sum);
}
}
DFS(0, 0);
answer=max;
return answer;
}
let arr=[81, 58, 42, 33, 61];
console.log(solution(259, arr));
function solution(c, arr){
let answer=Number.MIN_SAFE_INTEGER;
let n=arr.length;
function DFS(L, sum){
if(sum>c) return;
if(L===n){
answer=Math.max(answer, sum);
}
else{
DFS(L+1, sum+arr[L]);
DFS(L+1, sum);
}
}
DFS(0, 0);
return answer;
}
let arr=[81, 58, 42, 33, 61];
console.log(solution(259, arr));