Algorithm & 자료구조/(인프런) 자바스크립트 알고리즘 문제풀이

[알고리즘] 배열 등수 구하기 (Array.from)

프라이D 2022. 1. 29. 23:58

문제

배열 내 숫자의 순위를 입력 순서대로 출력하세요.

풀이

function solution(arr) {
        let n = arr.length;
        let answer = Array.from({ length: n }, () => 1); //1차원 배열 arr를 1로 초기화
        for (let i = 0; i < n; i++) {
          for (let j = 0; j < n; j++) {
            //배열의 i번째와 배열 전체를 돌아가며 비교하기 위해 2중 for문 사용
            if (arr[i] < arr[j]) answer[i]++;
            //이번 턴에 비교중인 i가 j와 비교했을 때 작으면 순위가 밀리도록 배열 answer의 i번째를 누적.
          }
        }
        return answer;
      }

      let arr = [87, 89, 92, 100, 76];
      console.log(solution(arr));
  • Array.from : 콜백함수 지정하지 않으면 undefined 원소를 가진다.