-
[프로그래머스 / JS] 귤 고르기Coding Test/JavaScript 2023. 7. 18. 21:59
값들이 특정 분류로 나뉘면 해시 맵을 생각해 봐야 한다.
1. 2차원 배열로 만들어 주고
2. 원하는대로 정렬해 주자
function solution(k, tangerine) { // [1, 3, 2, 5, 4, 5, 2, 3] let hashMap = new Map(); for(let i = 0; i <tangerine.length; i++) { hashMap.set(tangerine[i], (hashMap.get(tangerine[i]) || 0) +1) } // Map(5) { 1 => 1, 3 => 2, 2 => 2, 5 => 2, 4 => 1 } const sortedMap = [...hashMap].sort((a, b) => b[1] - a[1]); let tempSum = 0, i = 0; while(tempSum < k) { if(sortedMap[i][1] >= k) { return i+1 } else { tempSum+=sortedMap[i][1]; i++ } } return i }
시간 복잡도 O(n) 걸립니다!
반응형'Coding Test > JavaScript' 카테고리의 다른 글
[프로그래머스 / JS] 연속부분수열 합의 갯수 (0) 2023.07.16 [프로그래머스 / JS] 구명 보트 (0) 2023.07.15 [JS/프로그래머스] 카펫 (0) 2023.07.14 [프로그래머스/JS] 피보나치 수 (0) 2023.07.12 [JS/프로그래머스] 영어 끝말잇기 (0) 2023.07.11