문제
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
메모
중첩 for문을 이용해 해당 범위의 배열을 담아두고 뒤집은 뒤, splice로 제거한 해당 범위에 넣는다.
정답
let fs = require("fs");
let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
let [N, M] = input[0].split(" ").map(Number);
let basket = Array(N)
.fill(1)
.map((a, b) => a + b);
for (let i = 1; i <= M; i++) {
let [a, b] = input[i].split(" ").map(Number);
let arr = [];
for (let j = a - 1; j < b; j++) {
arr.push(basket[j]);
}
arr.reverse();
basket.splice(a - 1, b - a + 1, ...arr);
}
console.log(basket.join(" "));