12982 예산

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씩 증가해주면 합한 개수를 반환할 수 있다.