해당 문제는
js의 구조분해할당(Destructuring_assignment) 개념을 알고 있으면 수월하게 풀 수 있을 것 같다
x,y 좌표를 한번에 받아서 가지고 있어야하는데
[x,y] 라는 형태로 저장하려면 구조분해할당개념을 알고 있으면 수월하게 처리가 가능하다
그리고 js의 sort 함수는
함수내에 compare()함수를 통해서 내가 원하는 방식으로 내림차순 or 오름차순을 사용할 수 있는데
x 좌표가 같은 경우는 y 좌표를 통해서 검증하는 내용을 놓치지 않으면 쉽게 풀 수 있을 것 같다
// readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기
const fs = require('fs')
const getInput = (filePath) => {
return fs
.readFileSync(filePath)
.toString()
.trim()
.split(/\n/);
}
const input = getInput('/dev/stdin'); // 제출시 여기 '/dev/stdin' 으로 변경
let count = Number(input[0]);
let data = new Array();
let answer = "";
for(let i = 1; i <= count ; i ++){
let [x,y] = input[i].split(' ').map(Number); // 구조 분해 할당
data.push([x,y]);
}
function compare(a,b)
{
if(a[0] != b[0]) return a[0] - b[0];
else return a[1] - b[1];
}
data.sort(compare);
for(let f of data)
{
answer += f[0] + " " + f[1] + "\n";
}
console.log(answer);
'알고리즘 > 백준' 카테고리의 다른 글
[백준] js 1181 (0) | 2024.02.12 |
---|---|
[백준] js 11651 (0) | 2024.02.12 |
[백준] js 11004 (1) | 2024.02.09 |
[백준] js 2750 (1) | 2024.02.09 |
[백준] js 2752 (0) | 2024.02.09 |