새소식

Study/Algorithm

[JavaScript 알고리즘] 등수구하기

  • -
N(1<=N<=100)명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.

 

▣ 입력설명
첫 줄에 N(3<=N<=100)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력 된다. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.

 

▣ 출력설명
입력된 순서대로 등수를 출력한다.

 

▣ 입력예제 1
5
87 89 92 100 76

 

▣ 출력예제 1
43215

 

 
function solution(arr){
let n=arr.length;
// arr 크기만 하고, 1로 채워진 새 배열 만들기
let answer=Array.from({length:n}, ()=>1);
for(let i=0; i<n; i++){
for(let j=0; j<n; j++){
// for문을 돌면서 나보다 큰게 있을 때 ++해줌
if(arr[j]>arr[i]) answer[i]++;
}
}
return answer;
}

let arr=[87, 89, 92, 100, 76];
console.log(solution(arr));

for문을 두 번 도는데

하나는 지금 내 등수, 하나는 다른 점수들을 돌고

다른 점수들이 나보다 높으면 내 등수에 ++(등급이 낮아진다)

이렇게 다 돌면 각각 자기 등수가 나오게 된다

Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.