알고리즘
좌표정렬
살다보니개발자
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] )와 비교후 오름차순으로 정렬 하고
첫번째요소가 같지않다면 첫번째요소로 오름차순 정렬 한다.
잘못된 정보가 있거나 부족한 부분이 있으면 댓글 남겨주세요. 태클은 언제나 환영입니다 :)