본문 바로가기
배움 기록/코테 연습

[알고리즘] 백준 10813번 : JavaScript(Node.js) 풀기

by dygreen 2023. 7. 30.

📌 문제

 

📌 풀이

const [[n,m], ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(x => x.split(' ').map(Number));
let arr = Array.from({length: n}, (_,i) => i + 1);

for (let idx = 0; idx < m; idx++) {
    const [i,j] = input[idx].map(num => num - 1); // index는 0부터 시작하므로 1씩 빼준다.
    
    const temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

console.log(arr.join(' '));
  • 배열 비구조화 할당을 이용해서, 주어진 입력값의 '첫째 줄'과 '둘째줄 ~마지막 줄'을 나눈다.
  • Array.from() : 1부터 n번까지의 바구니를 생성하고, 초기값을 할당한다.
  • temp 변수를 통해 현재 값을 복사해놓고, i번째 바구니와 j번째 바구니의 공을 서로 교환한다.
728x90

댓글