문제
10812번: 바구니 순서 바꾸기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
정답
let fs = require("fs");
let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let [n, m] = input.shift().split(" ").map(Number);
let rotate = input.map(x => x.split(" ").map(Number));
let arr = Array(n)
.fill(1)
.map((a, b) => a + b);
for (let i = 0; i < m; i++) {
let [start, end, mid] = rotate[i];
let leftPart = arr.slice(mid - 1, end);
let rightPart = arr.slice(start - 1, mid - 1);
arr.splice(start - 1, end - start + 1, leftPart, rightPart);
arr = arr.flat();
}
console.log(arr.join(" "));