코딩테스트 연습
프로그래머스 코딩테스트 연습 - 귤 고르기 JavaScript
citron031
2022. 12. 10. 15:21
function solution(k, tangerine) {
const weight = {}
tangerine.forEach(el => {
if(!weight[el]) {
weight[el] = 1;
}else {
weight[el] += 1;
}
});
const sorted = Object
.values(weight)
.sort((a, b) => b - a);
let answer = 0;
for(let i = 0; i < sorted.length; i++) {
k -= sorted[i];
answer++;
if(k <= 0) {
break;
}
}
return answer;
}
- 객체로 각 귤들의 무게에 따른 갯수를 세었다.
- 같은 무게의 귤들이 많은 것 부터 상자에 넣고 만약 상자가 가득 차거나 넘치면 그때 귤을 그만 넣는다고 생각하였다.
- 이때, 가장 수가 많은 무게의 귤부터 상자에 넣었기에 자연스럽게 상자에 들어간 귤의 크기는 유사한 것들이 많아지게 된다.