연습/프로그래머스

[프로그래머스/JS] 예산

지이구 2022. 4. 22. 19:30

 

 

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

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

 

 

 

 

 

이것도 sort를 알고 있으면 아주 쉬운문제!

reduce를 써볼까 했는데 항상 for이 더 친근하달까나....

제출하고 reduce버전으로도 작성해봤다

속도도 for이 더 빠르긴 할거다 ㅋㅋㅋ for > reduce > forEach = filter > map .. 이렇게 빠르다고 들어서..

 

 

 

 

🍋 for 버전

function solution(d, budget) {
    var answer = 0;
    var sortArr = d.sort((a,b) => {return a-b;});
    for(var i=0; i<sortArr.length; i++){
        budget -= sortArr[i];
        if(budget<0) break;
        answer +=1;
    }
    return answer;
}

 

 

 

🍋 reduce 버전

function solution(d, budget) {
    var sortArr = d.sort((a,b) => {return a-b;});
    var answer = sortArr.reduce((acc, val) =>{
        budget -= val;
        return acc + (budget >= 0 );
    }, 0);
    return answer;
}
728x90
반응형