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을 출력하도록 하였다.