작성
·
348
1
먼저 콘솔에 입력한 배열을 정렬하고, List 로 만들었습니다. 그리고 나서 indexOf() 메서드를 이용해서 콘솔에 입력한 점수값이 List의 몇 번째 인덱스에 위치하는지를 구한 후, +1 하여 grade 배열에 넣어주었습니다.
import java.util.*;
import java.util.stream.Collectors;
public class Main {
private static int[] solution(int[] arr) {
int[] grade = new int[arr.length];
List<Integer> sortedArr = Arrays.stream(arr)
.boxed()
.sorted(Collections.reverseOrder())
.collect(Collectors.toList());
for (int i = 0; i < grade.length; i++) {
grade[i] = sortedArr.indexOf(arr[i]) + 1;
}
return grade;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int i = 0; i < n; i++) {
System.out.print(solution(arr)[i] + " ");
}
}
}