프로그래머스 귤 고르기 JavaScript

2023년 1월 3일

프로그래머스 귤 고르기

문제 풀이

귤 k 개를 서로 다른 종류(귤의 크기별)의 수를 최소화하여 상자 하나에 담는 문제.
(귤을 크기: 개수) 형태의 딕셔너리를 만들어 개수가 많은 크기의 귤들부터 상자에 귤 k 개가 될 때까지 넣어 준다.

solution.js
function solution(k, tangerine) {
    let answer = 0;
    const dic = createDic(tangerine);
    const arr = dicToArray(dic);
    answer = countAnswer(k, arr);
    return answer;
}

function createDic(tangerine) {
    const dic = {};
    tangerine.forEach((item) => dic[item] = (dic[item]||0) + 1);
    return dic
}
function dicToArray(dic) {
    const arr = Object.values(dic).sort((a, b) => b-a);
    return arr
}

function countAnswer(k, arr) {
    let cnt = 0;
    for (let item of arr) {
        if (k <= 0) break;
        else {
            k -= item;
            cnt++;
        }
    }
    return cnt;
}

댓글