
https://school.programmers.co.kr/learn/courses/30/lessons/120882
function solution(score) {
const avgs = score.map((v) => (v[0] + v[1]) / 2);
return avgs.map((avg, i, arr) => {
let rank = 1;
arr.forEach((v) => {
if (avg < v) rank++;
})
return rank;
})
}
✔ 최초 순위를 1로 설정해 전체 평균값을 돌면서 현재 평균값보다 높은 값을 발견할 때마다 순위를1씩 증가 -> 공동 순위도 표현 가능
function solution(score) {
let avg = score.map(v=>(v[0]+v[1])/2);
let sorted = avg.slice().sort((a,b)=>b-a);
return avg.map(v=>sorted.indexOf(v)+1);
}
✔ 평균에 대해 내림차순 정렬 -> sorted의 인덱스 + 1은 곧 순위를 의미하므로 avg 내 요소를 돌면서 sorted에서 그 요소의 값에 해당하는 인덱스를 찾는다.