문제 풀이/프로그래머스

[Programmers] Lv1. 예산 (JavaScript)

hyundol97 2022. 10. 23. 23:32

문제

 


 

 

풀이

1차

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

 

 

2차

function solution(d, budget) {
    d = d.sort((a, b) => a - b);
    
    while(d.reduce((acc, cur)  => acc += cur, 0) > budget) {
        d.pop();
    }
    
    return d.length;
}

 

 


 

리뷰

  • reduce() 메소드와 while 조건을 함께 사용