Rank Algoritm - 순위 알고리즘
Programming/Java Algorithm 기초

Rank Algoritm - 순위 알고리즘

반응형

Rank Algoritm - 순위 알고리즘

  • 주어진(지정한 범위) 데이터의 순위(등수)를 구하는 로직
  • 갯수(count) 알고리즘을 응용했음.
  • scores[i]와 scores[j]를 비교하여 rank를 ++하는 것이 포인트
package rankAlgoritm;
//순위 알고리즘 : 데이터에 대한 순위 구하기.
//[?] : 주어진(지정한 범위) 데이터의 순위(등수)를 구하는 로직

public class RankAlgoritm {

	public static void main(String[] args) {
		//[1]input
		int[] scores = {50, 35, 80, 75, 65, 15, 100, 68};
		int[] rank = {0, 0, 0, 0, 0, 0, 0, 0};
		
		//[2]process : rank
		for(int i = 0; i < scores.length; i++) {
			rank[i] = 1; // 1등으로 초기화, 순위 배열을 매 회전마다 1등으로 초기화
			for(int j = 0; j < scores.length; j++) { //비교하는 for문
				if (scores[i] < scores[j]) { //현재(i)와 나머지들(j) 비교
					rank[i]++; //Rank : 나 보다 큰 점수가 나오면 순위가 1씩 증가  (count 알고리즘이 포함됨)
				}
			}
		}
		//[3]output
		for(int i = 0; i < scores.length; i++) {
			System.out.println(String.format("%3d점 : %1d등", scores[i], rank[i]));
		}
	}
}

반응형