31.12 최빈값 구하기: MODE 알고리즘
최빈값은 데이터 중에서 가장 많이 나타나는 값을 의미합니다. 최빈값(MODE) 알고리즘은 다른 알고리즘과 또 다른 모양으로 데이터 자체를 배열의 인덱스로 보고, 인덱스 개수(COUNT) 알고리즘을 적용하는 형태입니다.
다음을 보면 각 데이터에 해당하는 인덱스를 1씩 증가시켜 최종적으로 3이 두 번 나와 최댓값이 되므로 그때의 데이터(인덱스)인 3이 최빈값이 되는 형태입니다.
▲ 그림 31-2 최빈값 선택 과정
처음 indexes 배열은 다음 왼쪽처럼 모두 0으로 초기화한 후 각 점수에 해당하는 인덱스를 1씩 증가시킵니다. 그리고 최종적으로 인덱스 3이 2로 가장 큰 값이 되어 최빈값으로 정해지는 형태가 최빈값 알고리즘의 핵심 로직입니다.
▲ 그림 31-3 최빈값 알고리즘으로 인덱스에 해당하는 값 증가