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값의 변경만 있었습니다.