[백준10813_자바스크립트(javascript)] - 공 바꾸기

경이·2024년 9월 1일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
162/325

🔴 문제

공 바꾸기


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const [nm, ...inputs] = fs.readFileSync(path).toString().trim().split('\r\n');
const [n, m] = nm.split(' ').map(Number);
const basket = Array.from({ length: n }).map((_, idx) => idx);

for (let i = 0; i < m; i++) {
  const [a, b] = inputs[i].split(' ').map(Number);
  const temp = basket[b - 1];
  basket[b - 1] = basket[a - 1];
  basket[a - 1] = temp;
}

console.log(...basket.map((it) => it + 1));

🟢 풀이

⏰ 소요한 시간 : -

바구니 배열 basket을만들어 idx로 초기화 해준다.
그 후 0부터 m 까지의 input을 순회하면서 어떤 위치의 인덱스와 어떤 위치의 인덱스를 교환할 건지 선택해야 되는데 이때 temp라는 임의의 변수를 만들어 값을 교환해준다.
마지막 바구니의 숫자를 출력할 때는 1을 더해 바구니의 초기 번호가 1번이 되도록 한다.


🔵 Ref

profile
록타르오가르

0개의 댓글