/*
문제 : 귤 k개를 고를 때 크기가 서로 다른 종류의 수의 최솟값을 구하라
자료 : 귤 배열 tangerine, 팔고싶은 귤 갯수 K
조건 :
계획 :
서로 다른 종류가 가장 적을 때여야 한다. 그럼 가장 적은 수를 먼저 뺴고,
그 다음 적은 수를 빼서
팔고 싶은 갯수를 맞추면 되지 않을까??
*/
function solution(k, tangerine) {
const result = {};
tangerine.forEach((x) => {
result[x] = (result[x] || 0)+1;
})
const result2 = Object.values(result).sort((a, b) => b - a);
let count = 0;
let sum = 0;
for (let i = 0; i < result2.length; i++) {
count++;
sum += result2[i];
if (sum >= k) break;
}
return count;
}
'Algorithm' 카테고리의 다른 글
[JavaScript] 프로그래머스 - 나이 출력 (0) | 2023.01.01 |
---|---|
[JavaScript] 프로그래머스 - 두 수의 나눗셈 (0) | 2022.10.22 |
[JavaScript] 프로그래머스 - 몫 구하기 (0) | 2022.10.22 |
[JavaScript] 프로그래머스 - 직사각형 별찍기 (0) | 2022.09.27 |
[JavaScript] 프로그래머스 - 부족한 금액 계산하기 (1) | 2022.09.25 |