캐또's coding

11651 - 좌표 정렬하기 2 - node.js 본문

기초 공부/백준 문제 풀이

11651 - 좌표 정렬하기 2 - node.js

JS_K_coding 2023. 1. 12. 19:39

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

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net


 

바로 이전에 풀었던 좌표 정렬하기 문제와 완벽히 똑같지만, 지난 좌표 정렬하기 문제는 x순으로 정렬하고 x가 같을 때 y순으로 정렬하기 였다면, 이번 문제는 y 순으로 정렬하고 y가 같을 때 x순으로 정렬하는 문제이다.

따라서 sort()부분의 비교되는 대상을 바꾸기만 해도 정답으로 제출되는 문제다

const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const cnt = input.shift();

const arr = input.map((x) => x.split(" ").map((y) => parseInt(y)));

let result = "";
arr
  .sort((a, b) => {
    if (a[1] !== b[1]) {
      return a[1] - b[1];
    }
    return a[0] - b[0];
  })
  .forEach((x) => {
    result += `${x[0]} ${x[1]}\n`;
  });
console.log(result);

 

Comments