スキトルズは、5つの異なるフレーバーがある色付きのキャンディーです。ブドウ、青リンゴ、レモン、オレンジ、イチゴはそれぞれ(p)urple、(g)reen、(y)ellow、(o)range、および(r)edで表されます。私は、すべての異なる色を並べ替えて、順番にそれらを食べることによって、スキトルズを食べるのが常でした。オフィスでいくつかの奇妙な外観を取得した後、私は今それらを普通の人のように食べるふりをします。あなたの仕事はこれをエミュレートすることです:
コード(完全なプログラムまたは機能)は、スキトルの配列(10x10)を(妥当な形式で)入力として受け取ります。この配列は、並べ替えられていないスキトルズの山を表します。一番好きな色から好きな色に「食べる」ことがあなたの仕事です。私の優先順位はグレープ、青リンゴ、レモン、オレンジ、イチゴですが、一貫して実施されている限り、任意の順序を自由に選択できます(提出物に好みを記載して、判断できるようにしてください)。各キャンディーを食べた後、コードは、食べたものをスペースに置き換えた残りのパイルを(入力と同じ形式で)出力します。お気に入りだけが残るまで繰り返します。スキトルを選択して食べることができます(ランダムまたは確定的)。末尾のスペースは保持する必要があります。
たとえば、出力シーケンスは次のようになります(簡潔にするために5x5を使用し、スペースをとして表示します.
)
start 1 2 3 4 5 n
.org. .org. .org. .org. .or.. .or.. ..r..
prgrg .rgrg .rgrg .rgrg .rgrg .r.rg .r.r.
gggpr gggpr ggg.r ggg.r ggg.r ggg.r ....r
oyyor oyyor oyyor oyyor oyyor oyyor ....r
.r.p. .r.p. .r.p. .r... .r... .r... .r...
これはcode-golfなので、バイト単位の最短コードが優先されます
TL; DRルール:
- 提出は完全なプログラムまたは機能である場合があります
- 入力は、妥当な方法(STDIN、関数の引数など)によって、妥当な形式(文字列、リスト、行列など)で行われます。ただし、行間には線引きが必要です
- 出力は、妥当な方法(STDOUT、関数戻りなど)による入力と同じ形式で生成する必要があります。中間出力は区切られる場合とされない場合があります
- 最初の出力は最初の入力とする
- 末尾のスペースは保持する必要があります
- 任意の色の順序を使用できます(回答に記載してください)
- 現在の色のスキトルを食べることができます
- 最後の出力は、お気に入りの色とスペースのみになります
- 可能であれば、オンラインコンパイラへのリンクを含めて提出物をテストしてください