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