📄 문제
🔍 문제 접근
💡 Map
을 이용해 귤 사이즈별 개수를 저장
💡 구한 개수를 내림차순으로 정렬하여 개수가 많은 것부터 상자에 담기
📝 문제 풀이
function solution(k, tangerine) {
const descOfNumbers = getNumberBySize(tangerine).sort((a, b) => b[1] - a[1]);
let sum = 0;
let count = 0;
for (let i = 0; sum < k; i++) {
sum += descOfNumbers[i][1];
count += 1;
}
return count;
}
function getNumberBySize(tangerine) {
const tangerineMap = new Map();
for (let i = 0; i < tangerine.length; i++) {
const size = tangerine[i];
if (tangerineMap.has(size)) {
tangerineMap.set(size, tangerineMap.get(size) + 1);
} else {
tangerineMap.set(size, 1);
}
}
return Array.from(tangerineMap);
}
'코딩테스트' 카테고리의 다른 글
[프로그래머스/Javascript] 피보나치 수 (0) | 2023.09.03 |
---|---|
[프로그래머스/Javascript] 튜플 (0) | 2023.08.18 |
[프로그래머스/Javascript] 다음 큰 숫자 (0) | 2023.08.12 |
[프로그래머스/Javascript] 숫자의 표현 (0) | 2023.08.07 |
[프로그래머스/Javascript] 이진 변환 반복하기 (0) | 2023.08.06 |