문제 :

내가 성공한 풀이 :
public int solution(int[] array) {
int[] count = new int[1000];
for (int i = 0; i < array.length; i++) {
int j = array[i];
count[j]++;
}//for i
int max = 0;
int maxnum = 0;
for (int i = 0; i < count.length; i++) {
if (count[i] > max ) {
max = count[i];
maxnum = i;
} else if (count[i] == max) {
maxnum = -1;
}
} //for i
return maxnum;
}
-> 우선 주어진 배열을 돌면서 해당 값의 index에 해당하는 값을 1씩 증가시키는 반복문을 돌린다. 그 다음 새로 만들어진 배열을 돌면서 이전 값보다 크면 maxnum을 바꾸고 동일하면 -1로 만들어 주었다.
풀면서도 처음부터 배열의 크기를 1000으로 할당하고 들어가는것이 별로였지만 역시나 Map을 통해서 해결하는 방법이 있었다.
