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

Yunki Kim·2022년 12월 21일
0

프로그래머스

목록 보기
12/101
post-thumbnail

문제


링크


코드

class Solution {
    public int solution(int[] array) {
        int[] countArray = new int[1001];
        for (int i = 0; i < array.length; i++) {
            countArray[array[i]]++;
        }

        int max = 0;
        int answer = 0;
        for (int i = 0; i < countArray.length; i++) {
            if (countArray[i] > max) {
                max = countArray[i];
                answer = i;
            }
        }

        int maxCount = 0;
        for (int i = 0; i < countArray.length; i++) {
            if (countArray[i] == max) maxCount++;
            if (maxCount > 1) return -1;
        }
        return answer;
    }
}

리뷰

숫자와 같은 인덱스 값에 해당 숫자가 몇 번 입력되었는지 저장하는 countArray 배열을 만들어 최빈 숫자를 찾게하였다.

최빈 숫자가 여러개 등장하는 경우를 위해서 별도의 반복문을 통해
countArray의 값이 max와 같은 것이 2번이상 나오면 문제 규칙에 따라 -1을 출력하도록 하였다.

0개의 댓글