본문 바로가기

코딩 테스트/Lv.2

[프로그래머스] 귤 고르기 with Kotlin

문제

다양한 크기의 종류의 귤이 있을 때, 귤의 종류를 최소로 하여 N개를 담고 싶어한다.

이 때, 담을 수 있는 최소한의 귤의 종류의 개수를 반환하는 문제 

 

풀이 과정

  • 귤의 종류별 개수를 구한 뒤
  • 개수가 많은 순으로 내림차순
  • K개에서 빼주면서 카운팅

 

코드

class Solution {
    fun solution(k: Int, tangerine: IntArray): Int {
        var answer: Int = 0
        var K = k
        val list = tangerine.groupBy{it}.values.map{it.size}.sortedDescending()
        
        for(i in list){
            if(K <= 0) break
            K -= i
            answer++
        }
        
        return answer
    }
}