728x90
1. Mode Algorithm - 최빈값 알고리즘
- count알고리즘과 max알고리즘이 복합된 형태라고 생각하면 됨.
- 추가적인 것은 반복문을 활용해 data를 다른 데이터의 index로 변환하는 과정이 필요
//scores배열의 값이 indexes의 index가 됨.
for(int i = 0; i<scores.length; i++) {
indexes[scores[i]]++;
1.1. Mode Algorithm 코드
package Algorithm;
public class ModeAlgorithm {
//[?] 주어진 데이터에서 가장 많이 나타난(중복된) 값.
//최빈값 알고리즘(Mode Algorithm) : 점수 인덱스의 개수(count)의 최댓값(max)
public static void main(String[] args) {
//[1] input
int[] scores = {5,3,4,2,3};
int[] indexes = new int[5+1];
int mode = 0;
int max = indexes[0];
//[2] process
for(int i = 0; i<scores.length; i++) {
indexes[scores[i]]++;
}
for(int i = 0; i<indexes.length; i++) {
if(indexes[i]>max) {
max = indexes[i];
mode = i;
}
}
//[3] output
System.out.println("scores 데이터의 최빈값 : "+mode+", 개수는 : "+max);
}
}
300x250