[프로그래머스] LEVEL2 귤 고르기 JAVA

Pixel Dophin·2023년 7월 11일
0

프로그래머스

목록 보기
18/55

귤 고르기

문제링크

풀이

단순, 그리디로 생각해서 가장 적은 귤 종류를 선택하기 위해 가장 갯수가 많은 귤부터 담는다고 생각해서 풀이하였다.

코드

import java.util.*;
class Solution {
    
    public int solution(int k, int[] tangerine) {
        int answer = 0;
        Map<Integer, Integer> map = new HashMap<>();
        
        for (int i = 0; i < tangerine.length; i++) {
            map.put(tangerine[i], map.getOrDefault(tangerine[i], 0) + 1);
        }
        
        List<Integer> entryList = new LinkedList<>(map.values());
        
        entryList.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        
        for(Integer entry : entryList){            
            if ( 0 >= k)
                break;
            
            k -= entry;
            answer++;
        }
        
        return answer;
    }
}
profile
안녕 👋 성장하고픈 개발자 💻 입니다

0개의 댓글

관련 채용 정보