Beakjoon&프로그래머스/Java

[프로그래머스/Java] 최빈값 구하기

현장 2025. 2. 15. 01:00

-Code

import java.util.*;

class Solution {
    public int solution(int[] array) {
        Map<Integer, Integer> counter = new HashMap<>();

        for (int num : array) {
            if (!counter.containsKey(num)) {
                counter.put(num, 1);
                continue;
            }
            counter.put(num, counter.get(num) + 1);
        }

        int max_cnt = Collections.max(counter.values());
        int other_max_cnt = 0;
        int answer = -1;
        
        for (Integer key : counter.keySet()) {
            if (counter.get(key) == max_cnt) {
                other_max_cnt++;
                answer = key;
            }
        }

        return other_max_cnt == 1 ? answer : -1;
    }
}