출처: https://bumcrush.tistory.com/182 [맑음때때로 겨울]
반응형
package Programmers;

import java.util.*;

public class 귤고르기 {
    public static void main(String[] args){
        귤고르기 T = new 귤고르기();
        int k = 2;
        int[] tangerine = {1, 1, 1, 1, 2, 2, 2, 3};
        T.solution(k, tangerine);
    }

    public int solution(int k, int[] tangerine) {
        int answer = 0;
        HashMap<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> arr = new ArrayList<>(map.values());
        arr.sort(Collections.reverseOrder());
        for (int i : arr) {
            k -= i;
            answer++;
            if(k < 1){
                break;
            }
        }
        return answer;
    }
}

1. map에 key = 귤번호 value = 개수 

2. 내림차순으로 정렬한 value 값을 arr 에다가 넣는다.

3. 주어진 k개를 arr 내림차순되어있는대로 내리면서 값을 구한다.

반응형

+ Recent posts