テトリスの動きのリストを指定して、完了した行の数を返します
説明 各移動が以下で構成されるTetrisのわずかに簡略化されたバージョンを検討します。 ピースを時計回りに0〜3回回転させます 特定の列にピースを配置する 高速ドロップ 目標は、そのようなテトリスの動きのリストを与えられて、完了した行の数を決定することです。 完成した行は、標準のテトリス規則に従って、ピースがドロップされると削除されます。 プレイフィールド プレイフィールドの幅は10列です。そこにはいないゲームオーバー、何のプレイフィールドの構成を問題では、上記の操作を実行しないように、常に十分なスペースと時間があることを想定しています。プレイフィールドの高さはここではあまり重要ではありませんが、標準の22行を上限として使用できます。 テトロミノの形状 入出力 入力 3文字でエンコードされたテトリス移動のコンマ区切りリスト。最初の2文字は使用するTetrominoの形状を表し、最後の1文字はそれがドロップされた位置を表します。 テトロミノ:I、O、T、L、J、Z又はS、上記と同じ順序です。 時計回りの回転数:0〜3 列:0から9。これは、ピースの左上隅(x上の写真ででマークされている)が回転後に配置されている列です1 指定されたリスト内のすべての移動が有効であると想定されます。I07(水平方向のI配置が右に行き過ぎているなど)の無効なエントリをチェックする必要はありません。 1 移動の3番目の文字で指定された列にある限り、実際の回転アルゴリズムを実装するか、すべての異なる形状をハードコーディングxすることができます。 出力 完了した行の数。 例 O00,T24最初の位置O00,T24,S02,T01,L00,Z03,O07,L06,I05を生成し、2番目の位置を生成します。 したがって、次のシーケンスはテトリスを生成し、返す必要があり4ます。 O00,T24,S02,T01,L00,Z03,O07,L06,I05,I19 テストケース 1) "O00,T24,S02,T01,L00,Z03,O07,L06,I05,I19" -> 4 2) "S00,J03,L27,Z16,Z18,I10,T22,I01,I05,O01,L27,O05,S13" -> 5 3) "I01,T30,J18,L15,J37,I01,S15,L07,O03,O03,L00,Z00,T38,T01,S06,L18,L14" -> 4 4) "S14,T00,I13,I06,I05,I19,L20,J26,O07,Z14,Z10,Z12,O01,L27,L04,I03,S07,I01,T25,J23,J27,O01, I10,I10" -> 8 5) "O00,T24,L32,T16,L04,Z11,O06,L03,I18,J30,L23,Z07,I19,T05,T18,L30,I01,I01,I05,T02" -> 8 テストページ このJSFiddleを使用して、移動リストをテストできます。