https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=javascript
문제풀이
쏘카 코테 보려고 JS로 풀어봤다. 좀 편한데?
object에 귤 크기를 key, 귤 개수를 value로 해서 크기별 개수를 구한다.
크기만 빼서 배열로 만들고, 크기 순으로 내림차순을 한다.
반복문 돌면서 k에서 해당하는 값을 빼준다. 그리고 정답을 1 증가시킨다.
k가 0보다나 작거나 같아지면 반복을 멈춘다.
이렇게 하면 크기가 서로다른 종류의 수의 최솟값을 구할 수 있다.
function solution(k, tangerine) {
let a = {};
var answer = 0;
tangerine.forEach(element => {
if(a[element] != undefined) a[element] += 1;
else a[element] = 1;
});
let arr = Object.values(a);
arr.sort((a, b) => b-a);
for(let i=0; i<arr.length; i++) {
k -= arr[i];
answer++;
if(k <= 0) break;
}
return answer;
}
'알고리즘(Algorithm)' 카테고리의 다른 글
[C++] 체인 (2785번) (0) | 2023.11.23 |
---|---|
[C++] Yonsei TOTO (12018번) (1) | 2023.11.22 |
[C++] 동전 (9084번) (1) | 2023.11.16 |
[C++] 네트워크 연결 (1922번) (1) | 2023.11.13 |
[C++] 먹을 것인가 먹힐 것인가 (7795번) (0) | 2023.11.11 |