[Lv.0] 등수 매기기 ***

01수정·2023년 6월 12일
0
post-thumbnail

<입문 100문제> Day 23 - 배열, 정렬, 문자열

문제



풀이

function solution(score) {
    let average = score.map(num => (num[0]+num[1])/2);
    let sorted = average.slice().sort((a, b) => b - a);
    
    return average.map(num => sorted.indexOf(num) + 1);
}

https://happygunja.tistory.com/285

  • slice() : 잘라낸다. 잘라낸 값이 원본에 그대로 있다
  • splie() : 뽑아낸다. 뽑아낸 값이 더이상 원본에 남아있지X
const array = [1, 3, 5, 7, 9]

array.splice(2, 1) // [5]
console.log(array) // [1, 3, 7, 9]

array.slice(0, 2) // [1, 3]
console.log(array) // [1, 3, 7, 9]
  • array.slice().sort()
    sort() 메서드는 원본을 변형한다.
    slice() 메서드를 이용해 원본을 복사하여 원본 변형 없이 정렬
const array = [4, 2, 3, 1]
array.slice().sort((a, b) => a - b); // [1, 2, 3, 4]
console.log(array) // [4, 2, 3, 1]

해답

function solution(score) {
  return score.map((el) => {
    return (
      score.filter((v) => (v[0] + v[1]) / 2 > (el[0] + el[1]) / 2).length + 1
    );
  });
}
profile
새싹 FE 개발자

0개의 댓글