예산

hyuri·2023년 9월 20일
0

코딩테스트 연습

목록 보기
28/70

내가 작성한 답

function solution(d, budget) {
    let answer = 0;
    let number = d.sort((a,b) => a-b);

    for (let c of number){
        if (budget >= c){
            budget -= c;
            answer++;
        } else break;
    }

    return answer;
}

다른 답

function solution(d, budget) {
    const budgetApply = d.sort((a,b)=>a-b).filter(v=>{
        if(budget - v >= 0){
            budget -= v
            return true
        }
        return false
    })

    return budgetApply.length
}
function solution(d, budget) {
    return d.sort((a, b) => a - b).reduce((count, price) => {
        return count + ((budget -= price) >= 0);
    }, 0);
}

해석

combination
나는 정렬한 다음에 예산에서 신청한 금액을 빼고 뺀 횟 수를 증가 시켰다.
다른 답 1번은 예산을 초과하지 않는 부서들로 배열을 생성했다.
다른 답 2번은 초기 값 0에서 count에 예산을 한 번 뺀 숫자가 0보다 클 경우에 true를 더 했다. 이때 예산은 빼고 난 숫자로 바뀐다.

profile
개발자가 되고 싶은 지망생

0개의 댓글