백준 11650

송민지·2023년 7월 7일
0

알고리즘

목록 보기
17/22

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"));

풀면 풀수록 모르는게 너무 많다 ㅠ

백준 11650

profile
기록하는 일상

0개의 댓글