등수 구하기

설정·2021년 3월 4일
0

순위(Rank)알고리즘

지정한 범위 내에서 등수를 구하는 로직


  • 풀이 방법
    1. 배열을 1등으로 초기화한다.
    2. 해당 배열 길이만큼 반복하며 나보다 큰 수가 나오면( i < j ) 나의 순위를 1 증가한다.

  • My Solution 1
function solution(arr) {
  let rank = [];
  
  for(let i=0; i<arr.length; i++) {
    rank[i] = 1; // arr 전체를 1로 초기화
    for(let j=0; j<arr.length; j++) {
      if(arr[i] < arr[j]) {
        rank[i]++;
      }
    }
  }
  
  return rank;
}

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

// output : 4 3 2 1 5

  • Answer

🐸 Solving Review
와 이거 랭킹문제 진짜 열받았던 문제다.
분명 2중 for로 해야하는 문제라고 생각해서 2중 for로 풀었는데 답이 안나오는거다.
알고보니 초기화를 이상한데에 선언하고 해결하려했다.
이번 문제로 배열2중 for, 초기화에 대한 중요성을 알게 되었고,
랭킹문제 뿐만 아니라 배열에 대한 문제를 많이 풀어봐야겠다고 느낀 문제였다.

0개의 댓글