프로그래머스 138476번 귤 고르기 Java

: ) YOUNG·2024년 2월 12일
1

알고리즘

목록 보기
314/370
post-thumbnail

프로그래머스 138476번
https://school.programmers.co.kr/learn/courses/30/lessons/138476

문제



생각하기


  • 자료구조 문제이다.

  • HashMap을 사용하는게 요점인 문제이다.

  • HashMap을 Value 기준으로 내림차순 정렬하면 된다.



동작



결과


코드



import java.util.*;

class Solution {
    
    public int solution(int k, int[] tangerine) {
        int answer = 0;
        
        HashMap<Integer, Integer> map = new HashMap<>();
        for(int size : tangerine) {
            map.put(size, map.getOrDefault(size, 0) + 1);
        }
        
        List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
        list.sort(Map.Entry.<Integer, Integer>comparingByValue().reversed());
        
        for(Map.Entry<Integer, Integer> entry : list) {
            int v = entry.getValue();

            k -= v;
            answer++;
            if(k <= 0) {
                break;
            }  
        }
        
        
        return answer;
    } // End of solution()
} // End of Solution class

0개의 댓글