Solution
function solution(d, budget) {
let answer = 0;
let sum = 0;
d.sort((a, b) => a - b);
for (let i = 0; i < d.length; i++) {
if (sum + d[i] <= budget) {
sum += d[i];
answer++;
}
}
return answer;
}
오름차순으로 정렬하여 합 연산을 통해 풀면 쉽게 해결할 수 있다.
sort
함수를 사용해 오름차순으로 정렬 후 배열 d 의 첫번째 인덱스부터 더한 값이 예산(budget)보다 작거나 같을 때 까지 차례로 더해나간다.
더할 때 마다 answer 를 1씩 증가해주면 합한 개수를 반환할 수 있다.