1. paizaラーニングトップ
  2. レベルアップ問題集
  3. スタック・キューメニュー応用編(言語選択)
  4. 問題一覧 Swift編
  5. 品出し

スタック・キューメニュー応用編のサムネイル
品出し (paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

スーパーで働いている paiza 君は、お店に並んでいる商品一つひとつにつけられている識別番号の管理を任されました。
こちらのスーパーでは、棚に商品を補充する際はお客さんから最も遠い側(棚の末尾)に新しい商品を入れることになっています。
また、お客さんは棚の先頭の商品しか購入することができないようになっています。

商品の補充と購入に関する情報が時系列順に与えられるので、全ての補充と購入が終わった後に棚に残っている商品の識別番号を棚の先頭から順に答えてください。

なお、初め棚は空であるものとし、商品の補充と購入の情報は以下の形式で与えられるとします。

・add num
棚の末尾に識別番号が num の商品を 1 つ追加する。

・buy X
お客さんが棚の先頭から数えて X 個購入する。

入力される値

N
Q_1
Q_2
...
Q_N


・1 行目では与えられる商品の補充と購入の情報の個数 N が与えられます。
・2 行目からの N 行では、商品の補充と購入の内容が時系列順に与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

・全ての補充と購入が終わった後に棚に残っている商品の識別番号を棚の先頭から順に答えてください。

棚の先頭の商品の識別番号
...
棚の末尾の商品の識別番号

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ N ≦ 10000
・Q_i は次のいずれかの形式
「add num (1 ≦ num ≦ 100000)」
「buy X(1 ≦ X ≦ 棚の商品の個数)」

入力例1

3
add 264
add 742
add 737

出力例1

264
742
737

入力例2

5
add 374
add 3742
add 938
buy 2
add 737

出力例2

938
737

問題一覧へ戻る

ページの先頭へ戻る