7-7) 좌표 정렬

김예지·2021년 9월 5일
0

문제

N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하 세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다.
[입력설명]
첫째 줄에 좌표의 개수인 N(3<=N<=100,000)이 주어집니다.
두 번째 줄부터 N개의 좌표가 x, y 순으로 주어집니다. x, y값은 양수만 입력됩니다.
[출력설명]
N개의 좌표를 정렬하여 출력하세요.

입력예제 1

5
2 7
1 3
1 2
2 5
3 6

출력예제 1

1 2
1 3
2 5
2 7
3 6


문제 풀이

코드

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){
                let answer=arr; //얕은 복사 
                arr.sort((a, b)=>{
                    //x좌표가 같을 때, y좌표 오름차순으로 정렬
                    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>
profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

2개의 댓글

comment-user-thumbnail
2021년 9월 14일

9/14

답글 달기
comment-user-thumbnail
2021년 9월 15일

9/15

답글 달기