프로그래머스 1단계 예산

문제풀이 과정

  1. 더 적은 예산을 지원해줄수 없고 최대한 많은 부서에 예산을 지원해주고 싶다 => d를 오름차순으로 정렬해서 예산이 적게 필요한 부서부터 지원해준다
  2. 예산을 필요로 하는 부서만큼 반복해준다(d.length)
  3. d의 첫 인덱스부터 budget을 넘기 전까지 더해나간다. 더할 때마다 answer를 증가시킨다.
function solution(d, budget) {
    let answer = 0;
    let total = 0;
    // d배열을 오름차순으로 정렬해준다 => 더 많은 예산을 부서에 나누어주기 위해서이다
    d.sort((a,b)=>a-b);
    for(let i = 0; i < d.length ; i++) {
        if(total+d[i] <= budget) {
            total += d[i];
            answer++;
        }
    }
    return answer;
}

좋은 웹페이지 즐겨찾기