❓ 등수 구하기

frenchkebab·2021년 8월 19일
0
post-thumbnail

아예 접근조차 못했는데 해설을 그냥 보길 잘한 것 같다
완전히 처음 보는 접근 방법이었음...

한 원소등수를 매기기 위해서 '정렬'을 반드시 할 필요는 없다!
-> 내 위에 몇 명이 있는지만 알면 된다!

-> '내 위에 몇 명이 있는지만 알면 된다' 라는 접근의 생각을 태어나서 처음 해본 것 같다...
사실 일반적으로 '등수' 하면 내 위에 애가 몇 점씩인지 안궁금한게 맞는데..
알고리즘 문제만 풀려고 하면 이 생각이 먼저 들었던 것 같다.


풀이

function solution(arr) {
  const n = arr.length;
  let answer = Array(n).fill(1);
  for (let i = 0; i < n; i++) {
    for (let j = 0; j < n; j++) {
      if (arr[i] < arr[j]) {
        answer[i]++;
      }
    }
  }
  return answer;
}

let arr = [87, 89, 92, 100, 76];
console.log(solution(arr));

★ 원소가 n개인 배열을 1로 초기화하기

방법1) Array(n).fill(1)

const n = arr.length;
let answer = Array(n).fill(1);

방법2) Array.from({}, () => {})

const n = arr.length;
let answer = Array.from({length: n}, () => 1);
profile
Blockchain Dev Journey

0개의 댓글