티스토리 뷰

알고리즘/코딩테스트 공부

2-5 등수구하기

YG - 96년생 , 강아지 있음, 개발자 희망 2021. 11. 26. 02:00

문제

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

 

풀이

function solution(arr) {
  let answer = "",
    cnt = 1;
  for (let i = 0; i < arr.length; i++) {
    cnt = 1;
    for (let j = 0; j < arr.length; j++) {
      if (arr[i] < arr[j]) {
        cnt++;
      }
    }
    answer += cnt;
  }
  return answer;
}

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

자기보다 몇명이 더 점수가 많은지 세어서 answer에 더해주었습니다. 이중 for문입니다.

 

다른 풀이

function solution(arr) {
  let n = arr.length;
  let answer = Array.from({ length: n }, (x) => 1);

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

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

1인 원소가 5개 있는 배열을 만들어서 이중 for문을 돌려 자기보다 값이 크면 answer[i] ++ 을 해주었습니다.

'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글

2-7 봉우리  (0) 2021.11.27
2-6 격자판 최대합  (0) 2021.11.26
2-4 점수계산  (0) 2021.11.25
2-3 가위 바위 보  (0) 2021.11.25
2-2 보이는 학생  (0) 2021.11.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함