2차원 배열을 이용하여 배열을 정렬하는 문제였다.
2차원 배열을 생각도 하지 못했기 때문에 그냥 for문을 돌려 해결하려 했다.
for (let i = 1; i < input.length; i++) {
input.sort();
console.log(input[i]);
//console.log(input[i][2]);
// // if (input[i][0] == input[i][1]) input[i][1].sort();
// // console.log(input[i]);
// }
다음 풀이를 참고하여 제출하니 성공했다
// 2차원 배열 생성하기
for(let i = 0; i < iter; i++){
// input[i]를 하나의 배열로 만든 뒤, arr 배열에 push.
arr.push(input[i].split(" ").map((item) => Number(item)));
}
// 2차원 배열에서의 오름차순 정렬 구현
// 기존 1차원 배열에서 쓰던 것에 []를 붙여서 사용한다고 생각하면 이해가 매우 쉽다.
arr.sort((a, b) => {
// arr[0][0]과 arr[1][0], arr[1][0]과 arr[2][0]...이런 식으로 생각하면 된다.
if (a[0] === b[0]) {
// 여기서는 arr[0][1]과 arr[1][1]...이렇게 될 것이다.
return a[1] - b[1]
} else {
return a[0] - b[0]
}
});
let ans = [];
for(let i = 0; i < iter; i++){
let answer = arr[i].join(" ");
ans.push(answer);
}
console.log(ans.join("\n"));
풀면 풀수록 모르는게 너무 많다 ㅠ