좌표 정렬하기2, Node.js

cptkuk91·2023년 3월 7일
1

Algorithm

목록 보기
153/161

문제

https://www.acmicpc.net/problem/11651

코드

const input = require("fs").readFileSync("/dev/stdin", "utf-8").trim().split("\n");

const p = input.shift();

let tmp = [];

for(let i = 0; i < input.length; i++){
    tmp.push(input[i].split(" ").map(Number));
}

let result = "";

tmp.sort((a, b) => {
    if(a[1] !== b[1]){
        return a[1] - b[1];
    }
    return a[0] - b[0];
}).forEach((item) => {
    result += (`${item[0]} ${item[1]}\n`);
})

console.log(result);

풀이

입력받은 첫 값의 경우 단순 숫자를 나타내기 때문에 p = input.shift()통해 제거해버리고, 반복문을 통해 임시 배열에 숫자로 변환해 넣어줬습니다.
이후 y값 비교를 위해 sort를 사용했습니다. a[1] !== b[1] 같지 않다면, y를 올림차순으로 return하였고, 그외라면 x의 값을 올림차순으로 정렬하였습니다.
문제 요구사항에서 정렬된 값을 한줄씩 뽑아내야했기 때문에 forEach를 통해 result값에 넣어 반환하였습니다. 좌표 정렬하기와 단순히 x값 y값의 변경만 있었습니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글