영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score
가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.
score | result |
---|---|
[[80, 70], [90, 50], [40, 70], [50, 80]] | [1, 2, 4, 3] |
[[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]] | [4, 4, 6, 2, 2, 1, 7] |
function solution(score) {
let EachEverage = score.map((el) => {
return (el[0] + el[1]) / 2;
});
let sorted = [...EachEverage].sort((a, b) => b - a);
return EachEverage.map((el) => {
return sorted.indexOf(Number(el))+1;
})
}
💡 코드풀이
EachEverage
에 각 학생의 영어 + 수학 점수 평균을 구한 값을 할당한다. → [75, 70, 55, 65]sorted
에EachEverage
를 내림차순으로 정렬한 값을 할당한다 → [75, 70, 65, 55]map
함수를 통해EachEverage
의 각 학생의 평균 점수가sorted
의 몇번째 인덱스인지 반환한다.
💡느낀점
Map
과indexOf
를 활용해 차근차근 푸니 풀만했다 !