등수 매기기

Haizel·2023년 4월 19일
1

🧬 알고리즘 풀이

목록 보기
17/53
post-thumbnail

문제 설명

영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score
가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.

입출력 예

scoreresult
[[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;
    })
}

💡 코드풀이


  1. EachEverage에 각 학생의 영어 + 수학 점수 평균을 구한 값을 할당한다. → [75, 70, 55, 65]
  2. sortedEachEverage 를 내림차순으로 정렬한 값을 할당한다 → [75, 70, 65, 55]
  3. map 함수를 통해 EachEverage 의 각 학생의 평균 점수가 sorted 의 몇번째 인덱스인지 반환한다.

💡느낀점


  • MapindexOf를 활용해 차근차근 푸니 풀만했다 !
profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글