STEP: 1 キュー実装編 step 1
キューから要素を削除するプログラムを実装します。
解答例
キューは先出しですので、shift()と使います。
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin", "utf-8").trim();
const lines = input.split("\n");
const [Q] = lines[0].split(" ").map(Number);
//空の配列A
let A = [];
//クエリを順に処理
for (let i = 1; i <= Q; i++) {
const [query, X] = lines[i].split(" ");
if (query === "1") {
A.push(X);
} else {
A.shift();
}
//各クエリの処理が終わったあと、配列 A の各要素の値を半角スペース区切りで出力
console.log(A.join(" "));
}
FINAL問題 キュー実装編 step 2
キューを完成させます。
解答例
shiftは先頭の要素を返します。
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin", "utf-8").trim();
const lines = input.split("\n");
const [Q] = lines[0].split(" ").map(Number);
//空の配列A
let A = [];
//クエリを順に処理
for (let i = 1; i <= Q; i++) {
const [query, X] = lines[i].split(" ");
if (query === "1") {
A.push(X);
} else {
console.log(A.shift());//先頭を削除して出力
}
//各クエリの処理が終わったあと、配列 A の各要素の値を半角スペース区切りで出力
console.log(A.join(" "));
}