JS 알고리즘 문제풀이/섹션 7. 정렬과 그리디, 결정알고리즘

7.좌표 정렬

crab. 2022. 7. 5. 08:24
반응형

📌강의 정리

주어진 2차원 배열을 sort로 정렬하되 x좌표가 같을 때를 대비해 if로 x좌표가 같은경우 y좌표를 비교하여 return하게 알고리즘을 짠다.

 

📌느낀점

내가 푼 방식은 우연히 정답이 나올뿐 틀린 답이다.

강의시간이 3분인걸 보고 방심했다.. 좀 더 공들이자.

 

//나의 코드
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let answer = arr;
        arr.sort((a, b) => a[0] + a[1] - (b[0] + b[1]));

        return answer;
      }

      let arr = [
        [2, 7],
        [1, 3],
        [1, 2],
        [2, 5],
        [3, 6],
      ];
      console.log(solution(arr));
    </script>
  </body>
</html>
//강사님 코드
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let answer = arr;
        arr.sort((a, b) => {
          if (a[0] === b[0]) return a[1] - b[1];
          else return a[0] - b[0];
        });
        return answer;
      }

      let arr = [
        [2, 7],
        [1, 3],
        [1, 2],
        [2, 5],
        [3, 6],
      ];
      console.log(solution(arr));
    </script>
  </body>
</html>
반응형