Skittles 5 farklı lezzetlerin olduğu renkli şekerlerdir; (p) üple, (g) reen, (y) içi boş, (o) aralığı ve (r) ile temsil edilen üzüm, yeşil elma, limon, portakal ve çilek. Tüm farklı renkleri sıralayarak ve ardından sırayla yiyerek cipsler yerdim. Ofiste birkaç garip görünüme kavuştuktan sonra, şimdi onları normal bir insan gibi yemek gibi davranıyorum. Görevin bu taklit etmektir:
Kodunuz (tam program veya işlev) giriş olarak (makul herhangi bir formatta) bir dizi kızak (10x10) alır. Bu dizi, ayrılmamış skittles yığını temsil eder. Göreviniz en sevdiğiniz renkten en sevdiğiniz renge kadar onları "yemek" etmektir. Tercih ettiğim sipariş üzüm, yeşil elma, limon, portakal, çilek, ancak sürekli olarak uygulandığı sürece herhangi bir sipariş seçmekte özgürsünüz (lütfen gönderiminizde tercihinizi belirtin, böylece sizi yargılayabilirim). Her şeker parçasını yedikten sonra kodunuz (girdiğiniz formatta aynı şekilde) yenen parçanın yerine bir boşluk bırakarak kalan yığını çıkarır. Sadece favori kalıncaya kadar tekrar edeceksin. Yemek için herhangi bir skittle seçebilirsiniz (rastgele veya deterministik olabilir). Sondaki boşluklar muhafaza edilmelidir.
Örneğin, çıktı diziniz şöyle görünebilir (kısalık için 5x5 kullanarak ve boşlukları farklı olarak göstererek .
)
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...
Bu kod golf , bayt cinsinden en kısa kod kazanır
TL; DR Kuralları:
- Gönderim tam program veya işlev olabilir
- Giriş, makul bir yöntemle (STDIN, fonksiyon argümanları, vb.) Herhangi bir makul formatta (string, list, matrix, vs.) alınabilir. Ancak satırlar arasında bazı sınırlamalar olması gerekir.
- Çıktı, herhangi bir makul yöntemle (STDOUT, fonksiyon dönüşü, vb.) Girdiyle aynı formatta üretilmelidir. Ara çıkış sınırlandırılmış olabilir veya olmayabilir
- İlk çıktı ilk girdi olacak
- Sondaki boşluklar korunmalı
- Herhangi bir renk sırası kullanılabilir (cevabınızdaki liste)
- Mevcut rengin herhangi bir skittle yenebilir
- Son çıktı yalnızca en sevdiğiniz renk ve boşluklar olacaktır
- Mümkünse, gönderinizi test etmek için çevrimiçi bir derleyiciye bir bağlantı ekleyin