Kręgle to kolorowe cukierki, w których występuje 5 różnych smaków; winogrono, zielone jabłko, cytryna, pomarańcza i truskawka reprezentowane odpowiednio przez (p) urple, (g) reen, (y) ellow, (o) i (r) ed. Zwykłem jeść kręgle, sortując wszystkie kolory, a następnie je kolejno. Po kilku dziwnych spojrzeniach w biurze udaję, że jem jak normalna osoba. Twoim zadaniem jest naśladowanie tego:
Twój kod (pełny program lub funkcja) otrzyma tablicę kręgli (10x10) jako dane wejściowe (w dowolnym rozsądnym formacie). Ta tablica będzie reprezentować stos nieposortowanych kręgli. Twoim zadaniem jest „zjedzenie” ich od najmniej ulubionego do ulubionego koloru. Moim preferowanym zamówieniem jest winogrono, zielone jabłko, cytryna, pomarańcza, truskawka, ale możesz dowolnie wybierać dowolne zamówienie, o ile jest ono konsekwentnie egzekwowane (podaj swoje preferencje w zgłoszeniu, aby móc Cię za niego osądzić). Po zjedzeniu każdego cukierka Twój kod wyświetli (w tym samym formacie, w którym pobierasz dane) pozostały stos z zjedzonym kawałkiem zastąpiony spacją. Powtórzysz, dopóki pozostanie tylko twoja ulubiona. Możesz wybrać dowolną kręgle do zjedzenia (może być losowe lub deterministyczne). Spacje końcowe muszą być zachowane.
Na przykład sekwencja wyjściowa może wyglądać następująco (użycie zwięzłości 5x5 i wyświetlanie spacji jako .)
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...
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach
Zasady TL; DR:
- Zgłoszenie może być pełnym programem lub funkcją
- Dane wejściowe można przyjmować w dowolnym rozsądnym formacie (łańcuch, lista, macierz itp.) Dowolną rozsądną metodą (STDIN, argumenty funkcji itp.). Jednak między rzędami musi być pewne rozgraniczenie
- Dane wyjściowe muszą być wytwarzane w tym samym formacie co dane wejściowe dowolną rozsądną metodą (STDOUT, powrót funkcji, itp.). Wyjściowy wynik pośredni może, ale nie musi być ograniczony
- Pierwsze wyjście będzie pierwszym wejściem
- Końcowe spacje muszą zostać zachowane
- Można użyć dowolnej kolejności kolorów (lista w odpowiedzi)
- Można zjadać każdy kręcik bieżącego koloru
- Ostatnim wyjściem będzie tylko twój ulubiony kolor i przestrzenie
- Jeśli to możliwe, dołącz link do kompilatora online, aby przetestować swoje zgłoszenie
