8. 등수구하기
N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.
첫 줄에 N(3<=N<=100)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력된다.
입력된 순서대로 등수를 출력한다.
===================================================
이중 for문을 활용하여 모든 값을 서로 비교하여 해당 값이 더 크다면 전체 인원 수에서 1씩 뻬서 등수를 구한다.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public ArrayList<Integer> solution(int[] array ) {
ArrayList<Integer> answer = new ArrayList<>();
for(int i=0;i<array.length;i++) {
int sum=5;
for(int j=0;j<array.length;j++) {
if(array[i]>array[j]) sum--;
}
answer.add(sum);}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner scan = new Scanner(System.in);
int number=scan.nextInt();
int [] array=new int[number];
for(int i=0;i<number;i++) {
array[i]=scan.nextInt();
}
for(int x: main.solution(array))
System.out.print(x+" ");
}
}