Mode Algorithm - 최빈값 알고리즘
Programming/Java Algorithm 기초

Mode Algorithm - 최빈값 알고리즘

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