알고리즘

좌표정렬

살다보니개발자 2023. 4. 13. 18:00

N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하 세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다.

 

[입력예제 1]

[ [ 2, 7 ], [ 1, 3 ], [ 1, 2 ], [ 2, 5 ], [ 3, 6 ] ]

 

[출력예제 1]

[ [ 1, 2 ], [ 1, 3 ], [ 2, 5 ], [ 2, 7 ], [ 3, 6 ] ]

 

풀이

function solution(arr){
    let answer = arr;

    answer.sort((a,b) => {
        if(a[0] === b[0]) return a[1]-b[1]
        return a[0]-b[0]
    })

    return answer;
}

let arr=[[2, 7], [1, 3], [1, 2], [2, 5], [3, 6]];
console.log(solution(arr));

sort 함수를 이용해서 만약 배열요소의 첫번째 요소(a[0] === b[0])가 같다면

두번째요소 (a[1] - b[1] )와 비교후 오름차순으로 정렬 하고

 

첫번째요소가 같지않다면 첫번째요소로 오름차순 정렬 한다.

 

 

 

잘못된 정보가 있거나 부족한 부분이 있으면 댓글 남겨주세요. 태클은 언제나 환영입니다 :)

'알고리즘' 카테고리의 다른 글

회의실 배정(자바스크립트)  (0) 2023.04.13
장난꾸러기 현수  (0) 2023.04.12
Least Recently Used(LRU) 카카오 캐시 문제 변형  (4) 2023.01.10
삽입정렬  (0) 2022.12.22
Special Sort(구글 인터뷰)  (0) 2022.12.18