int[] arr = {1, 3, 4, 3, 5};
int answer = 0; // 최빈값
int[] index = new int[5 + 1]; // 값별 갯수(COUNT) 저장
int max = Integer.MIN_VALUE;
for(int i = 0; i<arr.length; i++) {
index[arr[i]]++; // 값별 인덱스에 COUNT 추가
}
System.out.println(Arrays.toString(index));
for(int i = 0; i<index.length; i++) {
if(index[i] > max) { // 최대값 구하기
max = index[i];
answer = i;
}
}
System.out.println("ANSWER : " + answer + " COUNT : " + max);
최빈값은 주어진 데이터 중 가장 많이 나온 값을 말한다.
먼저 값의 범위가 100이하 정도라면
값의 범위와 동일하게 index배열을 만들어주고
반복문을 통해 arr 값에 해당하는 수만큼
index배열의 값들을 증가시킨다.
새로운 반복문을 사용해 최빈값과 최빈값의 개수를 구할 수 있다.