前書き
コインが上部に挿入され、重力のために下部に(上部のコインに)落ちるマッチングゲームをプレイしています。
したがって、この
O <- inserting this coin
OO O
OOOOO
これになります
O
OO O
OOOOO
誰かがボードを時計回りに回転させると想像してください。次のことが起こります。
1.ボードが回転します
OOO
OO
O
OO
O
2.重力によりコインが落ちる
O
O
OO
OO
OOO
あなたのタスク
あなたの仕事は、プログラムや関数を書くことでボードの回転をシミュレートすることです。簡単にするために、1種類のコインのみを扱っています(あまりにもエキサイティングなマッチングゲームではありませんよね...)。回転が完了した後にのみ重力が適用されると仮定できます。ボードは時計回りに回転します。
入力
入力は3種類の文字を含む文字列になります。
- O(大文字o)OR 0(ゼロ)-コイン(ソリューションがサポートするものを決定します)
- (スペース)-空のフィールド
- \ n(改行)-行の終わり
入力はボードの状態を表します。入力は整形式で、ボードの有効な状態を含んでいると想定できます(コインが浮いていない)。入力は関数パラメーターにすることも、標準入力またはファイルから読み取ることもできます。
出力
出力は、回転後のボードの新しい状態です。出力には、入力と同じ3種類の文字が含まれます。出力は関数から返すことも、標準出力またはファイルに書き込むこともできます。
サンプル
入力1:
O
OO O
OOOOO
出力1:
O
O
OO
OO
OOO
入力2:
O O
O O
出力2:
OO
OO
任意の言語と、選択した言語の標準ライブラリを使用できます。バイト単位の最短プログラムが優先されます。