[JS] level 1 - 예산

박세현·2021년 6월 20일
0

알고리즘

목록 보기
17/19

예산

문제 출처

https://programmers.co.kr/learn/courses/30/lessons/12982


풀이

신청 금액이 적은순으로 더하면서 예산을 넘지 않으면 된다.

function solution(d, budget) {
    // 신청 금액 적은순으로 정렬
    const sortedArr = d.sort((a, b) => a - b);
    // 지원 할 수 있는 부서 수
    let count = 0;
    // 신청 금액 합계
    let sum = 0;
    
    for (let i = 0; i < sortedArr.length; i++) {
        // 신청 금액을 더함
        sum += sortedArr[i];
        // 신청 금액 합계가 예산을 넘었을 경우
        if (sum > budget) {
            // 종료
            break;
        }
        // 예산을 넘지 않은 경우 지원 부서 count + 1
        count++;
    }
    
    return count;
}

profile
Front End 공부노트

0개의 댓글