//[?] 주어진(지정한 범위) 데이터의 순위(등수)를 구하는 로직
/**
* 순위 알고리즘(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
'Dev > Java' 카테고리의 다른 글
9. 검색 알고리즘(Search Algorithm) (0) | 2022.08.08 |
---|---|
8. 정렬 알고리즘(Sort Algorithm) (1) | 2022.08.08 |
6. 근삿값 알고리즘 (Near Algorithm) (0) | 2022.08.08 |
5. 최솟값 알고리즘 (Min Algorithm) (0) | 2022.08.08 |
4. 최댓값 알고리즘 (Max Algorithm) (0) | 2022.08.08 |
댓글