[프로그래머스] 등수 매기기 - JS

Lenny·2023년 6월 8일

문제

풀이

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);
    
}
  1. 평균 배열 (avg) 생성

  2. 평균 배열을 내림차순(8,7,6,5,4 ... )으로 정렬한 sorted 배열 생성

  3. 평균배열이 가진 값으로 내림차순배열에서 해당하는 첫번째 인덱스를 찾는다. (indexOf)
    -> 내림차순으로 정렬이 되어있기 떄문에, 1등부터 쭉 나열

  4. 정답은 배열의 인덱스가 아니라 등수가 들어가야하기때문에 + 1을 해준다.
    -> 내림차순으로 되어있기때문에 0번쨰 인덱스가 1등이란 의미이다.

profile
🧑‍💻

0개의 댓글