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 |