반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

등수구하기 본문

반응형

해결법

이 문제는 우선 입력된 점수 길이 만큼의 1로 이루어진 배열을 만들어야한다. 그리고 이중 for문을 두고 첫번째 for문 i를 기준으로 비교하면서 두번째 for문 j를 비교한다. i번째 있는 점수가 j번째 있는 점수보다 작으면 등수를 올려야해서 처음 만들 배열에 i 번째 위치를 +1을 해준다.

 

강사님 코드

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let n = arr.length;
        let answer = Array.from({ length: n }, () => 1);

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

        return answer;
      }

      let arr = [87, 89, 92, 100, 76];
      console.log(solution(arr));
    </script>
  </body>
</html>

Array.from을 사용하면 1을 n개 만큼 가진 배열을 쉽게 만들 수 있다.

반응형

'코딩테스트 with JS > 자바스크립트 알고리즘 문제풀이(인프런)' 카테고리의 다른 글

유효한 팰린드롬  (0) 2022.08.14
회문 문자열  (0) 2022.08.13
가위 바위 보  (0) 2022.08.11
중복 문자 제거, indexOf  (0) 2022.08.10
substr(), substring(), slice()  (0) 2022.08.10
Comments