まだこれがないとは信じられません。これはプログラミングで最も重要なデータ構造の1つですが、コードゴルフで実装するのに十分なほどシンプルです。
チャレンジ
あなたの仕事は、数字をプッシュしたりポップしたりできるスタックを実装することです。実装をテストし、I / Oをシンプルに保つために、次のセットアップを使用します。
- 入力は、負でない整数のリストになります
正の整数はすべてを示し、はすべて示し -最上部の要素を破棄します。push( n ) 0 pop()
- 出力は結果のスタックになります
例
たとえば、が与えられた場合:
出力は次のようになります。
ルール
- 入力は、デフォルトのI / O形式の非負整数のリストになります
- 整数のストリームの終わりを示すために負の整数を使用できます
- 出力は、結果のスタックのリスト/マトリックス/ ..になります
- 最上部の要素がどこにあるか(開始または終了)を選択すると、出力は一貫している必要があります。
- 出力は柔軟です(たとえば、改行で区切られた整数は問題ありません)、重要なことは順序だけです
- 負の整数を使用してスタックの最下部を示すことができます
- スタックが空のとき、決してにならないことが保証されています
例
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]