본문 바로가기
Dev/Java

7. 순위 알고리즘 (Rank Algorithm)

by vellahw 2022. 8. 8.
//[?] 주어진(지정한 범위) 데이터의 순위(등수)를 구하는 로직

/**
 * 순위 알고리즘(Rank Algorithm): 점수 데이터에 대한 순위 구하기
 */

public class RankAlgorithm2 {
    public static void main(String[] args) {
        int[] scores = { 90, 87, 100, 95, 80 };
        int[] rankings = { 1, 1, 1, 1, 1 }; // 모두 1로 초기화

        for (int i = 0; i < scores.length; i++) {
            rankings[i] = 1; // 1등으로 초기화 | 순위 배열을 매 회전마다 1등으로 초기화
            for (int j = 0; j < scores.length; j++) {
                if (scores[i] < scores[j]) {  // 현재(i)와 나머지들(j) 비교
                    rankings[i]++; // RANK: 나보다 큰 점수가 나오면 순위 1 증가
            }
        }
    }

        for (int i = 0; i < scores.length; i++) {
            System.out.println(String.format("%3d점: %1d", scores[i], rankings[i]));
        }
    }
}

출력:

 90점: 3
 87점: 4
100점: 1
 95점: 2
 80점: 5

댓글