N(1<=N<=100)명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.
[입력설명]
첫 줄에 N(3<=N<=1000)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력 된다. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.
[출력설명]
입력된 순서대로 등수를 출력한다.
5
87 89 92 100 76
4 3 2 1 5
answer=Array.from({length:n}, ()=>1);
을 통해, 1로 초기화 된 n길이의 배열을 생성한다. (0등은 없기 때문에, 1으로 초기화한다.)<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let n=arr.length;
let answer=Array.from({length:n}, ()=>1); //배열 요소 모두 1로 초기화
//i의 등수 구함
for(let i=0; i<n; i++){
for(let j=0; j<n; j++){
if(arr[j]>arr[i]) answer[i]++;
}
}
return answer;
}
//let arr=[87, 89, 92, 100, 76];
let arr=[92, 92, 92, 100, 76];
console.log(solution(arr));
</script>
</body>
</html>
4 3 2 1 5
추가
이후에 sort 메소드를 통해 arr을 순서대로 정렬하고, 등수를 지정해보자.
9/10