📌 문제
📌 풀이
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
'배움 기록 > 코테 연습' 카테고리의 다른 글
[알고리즘] 백준 1546번 : JavaScript(Node.js) 풀기 (0) | 2023.10.04 |
---|---|
[알고리즘] 백준 10811번 : JavaScript(Node.js) 풀기 (0) | 2023.08.06 |
[알고리즘] 백준 10810번 : JavaScript(Node.js) 풀기 (0) | 2023.07.23 |
[알고리즘] 백준 2562번 : JavaScript(Node.js) 풀기 (0) | 2023.07.16 |
[알고리즘] 백준 10871번 : JavaScript(Node.js) 풀기 (0) | 2023.07.09 |
댓글