[JS알고리즘] 등수구하기
in Algorithm
N(1<=N<=100) 명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하시오. (단 같은 점수가 입력될 경우 높은 등수로 동일 처리한다)
function solution(arr){
let n = arr.length;
let answer = Array.from({length:n}, ()=>1);
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 ];
console.log(solution(arr))
2중 for를 이용해서 해결해야 하는 문제.
1번 for i를 기준으로 2번 for j를 비교하여 구하면 된다.
i번째 값을 기준으로 j의 값이 i보다 큰지 작은지를 비교하여 작으면 넘어가고 크면 등수를 ++시킨다
cf. Array.from({length:n}, ()=>1)
는 length가 n인 배열을 만들고, 그 배열의 값들을 1로 초기화 해주겠다는 뜻
inflearn 자바스크립트 알고리즘 강의 내용 =)