뚜벅

귤 고르기 - LV. 2 본문

프로그래머스

귤 고르기 - LV. 2

초코맛젤리 2022. 12. 10. 15:04

https://school.programmers.co.kr/learn/courses/30/lessons/138476

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이 문제는 귤 k개를 고를 때 크기가 서로 다른 종류의 수의 최솟값을 구하는 문제 입니다.

 

그렇기 때문에 map을 이용해 각 크기별 개수를 저장하고, 개수를 기준으로 내림 차순 정렬하여 카운팅 해주면 되는 문제 입니다. 

 

function solution(k, tangerine) {
    const map = new Map()
    
    for(const size of tangerine){
        map.set(size, (map.get(size)||0)+1)
    }
    
    const tmp = [...map]
    tmp.sort((a,b)=>b[1] - a[1])
    
    let ans = 0 
    for(let i=0; i<tmp.length; i++){
        k-= tmp[i][1]
        ans++
        if(k <= 0) break
    }
    
    return ans
}

'프로그래머스' 카테고리의 다른 글

짝지어 제거하기 - LV. 2  (0) 2022.12.10