굳이 끼워 맞추자면 그리디? 에 가까운 문제.
박스에 담는 귤의 가짓수를 최소로 하고자 한다면, 가장 많이 있는 귤의 크기부터 박스에 담으면 종류가 제일 적을 것이다.
function solution(k, tangerine) {
let map = {};
tangerine.forEach((item)=> map[item] = (map[item] || 0) +1);
const sortArr = Object.values(map).sort((a,b) => b-a)
let cnt = 0;
while(k>0) {
cnt++;
k-=sortArr.splice(0,1)[0];
}
return cnt;
}