프로그래머스
d를 오름차순으로 정렬한다.function solution(d, budget){
  d.sort((a,b) => a-b);
  let sum = 0;
  for(let i=0; i<=d.length; i++){
    if(sum + d[i] < budget){
      sum += d[i];
    }else if(sum + d[i] === budget){
      return i+1; //i는 인덱스이고, 결과는 구매한 부서 개수이므로 1을 더해준다.
    }else{
      return i; 
    }
  }
}
d 오름차순으로 정렬한다.d를 차례로 방문해 예산에서 각 비용을 빼고, 그 값이 0보다 작다면 cnt를 리턴한다.💫 예산에서 비용을 빼는 방법이 다른 변수 sum을 만들어 비교하는 것보다 이해하기 쉽고 간단한 것 같다.
function solution(d, budget){
  let cnt = 0;
  d.sort((a,b) => a-b);
  
  for(let vals of d){
    budget -= vals;
    
    if(budget<0) break;
    else cnt++
  }
  return cnt;
}