Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

차차로그

[JS] Summer/Winter Coding(~2018) > 예산 본문

코딩테스트

[JS] Summer/Winter Coding(~2018) > 예산

차차한 2022. 8. 26. 13:55

function solution(d, budget) {
    var sum = d.reduce((arr,v)=>arr+v);
    d.sort((a,b)=>a-b);
    if(budget == sum){
        return d.length;
    }else{
        var count = 0;
        for(var i = 0; i < d.length; i++){
            if(budget - d[i] >= 0){
                count++;
                budget = budget - d[i];
                console.log(budget)
            }else{
                break;
            }
        }
        return count; 
    }
}

부서가 신청한 금액을 모두 더한 값이 예산과 동일하면 모든 부서에 지원을 해줄 수 있어서 IF문을 사용해 부서의 수만큼 리턴을 먼저 시켜줬다. (굳이 안 해도 풀이시간은 비슷하다..)

예산에서 부서별 신청금액을 마이너스가 되기 전까지 계속 빼면서 그 횟수만큼 COUNT를 올려준다.

최대한 많은 부서를 지원해줘야하기 때문에 부서별 신청 금액을 오름차순으로 정렬해놔야 한다.

만약 예산이 마이너스가 되면 break;를 걸어준다

 

 

Comments