2 つのキュー (paizaランク C 相当)
解答例
query,K,Xを文字列のまま処理していることに注意。
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);
//2 つのキューを用意
let [queue1, queue2] = [[], []];
//クエリを順に処理
for (let i = 1; i <= Q; i++) {
const [query, K, X] = lines[i].split(" ");//文字列のまま
if (query === "1") {//文字列
if (K === "1") {//文字列
queue1.push(X);
} else {
queue2.push(X);
}
} else if (query === "2") {//文字列
if (K === "1") {//文字列
console.log(queue1.shift());//削除と返却を同時に
} else {
console.log(queue2.shift());
}
} else {
console.log(queue1.length, queue2.length);
}
console.log(queue1,queue2);
}