reduce로 누적 합계를 끝까지 구하긴 하지만
예산보다 작은 경우에는 숫자를 카운트(answer++; answer을 1씩 추가)하여누적 함수 몇번째까지 예산안에 들어오는지 확인
function solution(d, budget) {
var answer = 0;
d.sort((a, b) => a - b ); // 작은 수부터 나열
d.reduce(( acc, cur ) => {
acc + cur <= budget ? answer++ : answer;
// 누적 합계가 budget보다 작은면 answer를 1씩 추가
return acc + cur;
}, 0 ); // 합계의 시작이 0부터
return answer;
}