Skittles adalah permen berwarna di mana ada 5 rasa yang berbeda; anggur, apel hijau, lemon, jeruk, dan stroberi diwakili oleh (p) urple, (g) reen, (y) ellow, (o) range, dan (r) ed masing-masing. Saya biasa makan skittles dengan menyortir semua warna yang berbeda, lalu memakannya secara berurutan. Setelah mendapatkan beberapa penampilan aneh di kantor, saya sekarang berpura-pura memakannya seperti orang normal. Tugas Anda adalah untuk meniru ini:
Kode Anda (program atau fungsi lengkap) akan menerima larik skittles (10x10) sebagai input (dalam format apa pun yang masuk akal). Array ini akan mewakili tumpukan skittles yang tidak disortir. Tugas Anda adalah "memakannya" dari warna favorit Anda hingga warna favorit. Pesanan pilihan saya adalah anggur, apel hijau, lemon, jeruk, stroberi, tetapi Anda bebas memilih pesanan apa pun asalkan secara konsisten diberlakukan (sebutkan pilihan Anda dalam kiriman Anda sehingga saya dapat menilai Anda untuk itu). Setelah memakan setiap bagian dari permen, kode Anda akan menampilkan (dalam format yang sama dengan yang Anda input) tumpukan yang tersisa dengan potongan yang dimakan diganti dengan spasi. Anda akan mengulang sampai hanya tersisa favorit Anda. Anda dapat memilih skittle untuk dimakan (mungkin acak atau deterministik). Ruang trailing harus dijaga.
Misalnya, urutan output Anda dapat terlihat seperti ini (menggunakan 5x5 untuk singkatnya dan menunjukkan spasi sebagai .
)
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...
Ini adalah kode-golf , jadi kode terpendek dalam byte menang
TL; Aturan DR:
- Pengajuan mungkin program atau fungsi penuh
- Input dapat diambil dalam format apa pun yang wajar (string, daftar, matriks, dll) dengan metode apa pun yang masuk akal (STDIN, argumen fungsi, dll.). Namun harus ada penggambaran di antara baris
- Output harus diproduksi dalam format yang sama dengan input dengan metode yang masuk akal (STDOUT, pengembalian fungsi, dll.). Output menengah mungkin atau mungkin tidak dibatasi
- Output pertama akan menjadi input pertama
- Ruang trailing harus dilestarikan
- Urutan warna apa pun dapat digunakan (sebutkan jawaban Anda)
- Potongan kecil dari warna saat ini dapat dimakan
- Output terakhir hanya warna dan ruang favorit Anda
- Jika memungkinkan, sertakan tautan ke kompiler online untuk menguji kiriman Anda