예산
2020.07.29
const recur = (remainder, arr) => {
const itemToBeDeleted = arr.find((num) => num >= remainder);
if (itemToBeDeleted) {
return arr.length - 1;
}
const largest = arr[arr.length - 1];
remainder -= largest;
arr.pop();
return recur(remainder, arr);
};
const sortHelper = (a, b) => a - b;
const solution = (d, budget) => {
const sum = d.reduce((acc, current) => acc + current);
const remainder = sum - budget;
if (remainder <= 0) {
return d.length;
}
return recur(remainder, d.sort(sortHelper));
};
- sum보다 budget이 클 때 remainder가 음수가 나오는데, remainder가 0일 때만 return d.lenght를 하도록 처음에 설정해서 예외를 찾는데 한참 걸렸다.