Digit Stack Digit Stack
Elementary+
EN FR Japanese RU

コンピュータサイエンスにおいてスタックは特別なデータ型あるいはコレクション(データの集合)といえる。 その主要な操作はコレクションへのデータの追加("PUSH"として知られる)とデータの取り出し("POP"として知られる)である。 PUSH操作とPOP操作の関係はスタックが後入れ先出し(Last-In-First-Out (LIFO))データ構造を持つことを意味し、 最後に追加した要素を最初に取り出すやり方である。 しばしばPEEKも主要な操作として実装されており、これは取り出すこと無しに最新の要素の値を返す。

Pythonでスタックに対する操作を再現してみよう。あなたは以下のコマンドを与えられる:
- "PUSH X" -- X をスタックの最後に追加する。 X は数である。
- "POP" -- スタックの最後の要素を参照して取り出す。もしスタックが空なら0を返し何もしない。
- "PEEK" -- スタックの最後の要素を参照する。もしスタックが空なら0を返す。
このスタックは数値のみを格納可能とする。

全てのコマンドを実行し、スタックを参照("POP" または "PEEK")した際の値の合計を得ること。 合計の初期値は0とする。

例を見てみよう。以下の一続きのコマンド実行結果である:
["PUSH 3", "POP", "POP", "PUSH 4", "PEEK", "PUSH 9", "PUSH 0", "PEEK", "POP", "PUSH 1", "PEEK"]

You should be an authorized user in order to see the full description and start solving this mission.