【スタック・キューメニュー】> STEP: 1 キュー実装編 step 1 (paizaランク C 相当) [難易度: 1257 ±30]
※リンク先へ移動するためには[paiza]へのログインが必要です。
キューとは、「先入れ先出し構造( First In, First Out )」などと呼ばれるデータ構造で、データの追加と、最初に追加したデータを取り出すことができます。
Q 個のクエリが与えられます。空の配列 A を用意したあと、 Q 個のクエリに応じて以下の 2 種類の処理をしてください。
・ PUSH X: 配列 A の末尾に X を追加
・ POP: 配列 A の先頭にある要素を削除
各クエリの処理が終わったあと、配列 A の各要素の値を半角スペース区切りで出力してください。
入力値(例)
4
1 1
1 4
1 2
2
出力値(例)
1
1 4
1 4 2
4 2
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $n = trim(fgets(STDIN)); $array = []; for($i = 0; $i < $n; $i++) { $c = trim(fgets(STDIN)); if(strpos($c, 1) !== FALSE) { list($push, $x) = explode(" ", $c); $array[] = $x; } elseif($c == 2) { array_shift($array); } $q = implode(" ", $array); echo $q. "\n"; } ?> |