등수 구하기

문제 설명

N(1<=N<=100)명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.

▣ 입력설명

첫 줄에 N(3<=N<=1000)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력 된다.

같은 점수가 입력될 경우 높은 등수로 동일 처리한다.

즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.

▣ 출력설명

입력된 순서대로 등수를 출력한다.

▣ 입력예제 1

5

87 89 92 100 76

▣ 출력예제 1

4 3 2 1 5

문제 풀이

  1. 본인 점수를 나머지 점수들과 비교
    (본인 점수 고정해놓고 비교해야하니 이중 for문 이용)
  2. 더 높은 점수를 만나면 등수++

** 등수는 1로 초기화

let solution = (arr) => {
    let answer = [];

    for (let i = 0; i < arr.length; i++) {
        let rank = 1;
        for (let j = 0; j < arr.length; j++) {
            if (arr[i] < arr[j]) rank++;
        }
        answer.push(rank)
    }
    return answer;
}

let arr = [87, 89, 92, 100, 76]

좋은 웹페이지 즐겨찾기