Kegel sind farbige Bonbons mit 5 verschiedenen Geschmacksrichtungen. Trauben, grüner Apfel, Zitrone, Orange und Erdbeere, dargestellt durch (p) urple, (g) reen, (y) ellow, (o) range bzw. (r) ed. Ich aß Kegel, indem ich die verschiedenen Farben sortierte und sie dann der Reihe nach aß. Nachdem ich im Büro ein paar seltsame Blicke auf mich gezogen habe, tue ich jetzt so, als würde ich sie wie einen normalen Menschen essen. Ihre Aufgabe ist es, dies zu emulieren:
Ihr Code (volles Programm oder Funktion) erhält eine Reihe von Kegeln (10x10) als Eingabe (in jedem vernünftigen Format). Dieses Array wird einen Stapel von unsortierten Kegeln darstellen. Ihre Aufgabe ist es, sie von Ihrer Lieblingsfarbe zu Ihrer Lieblingsfarbe zu "essen". Meine bevorzugte Bestellung ist Traube, grüner Apfel, Zitrone, Orange, Erdbeere, aber Sie können jede Bestellung frei wählen, solange sie konsequent durchgesetzt wird (bitte geben Sie Ihre Präferenz in Ihrer Bestellung an, damit ich Sie danach beurteilen kann). Nachdem Sie jedes Bonbonstück gegessen haben, gibt Ihr Code (im selben Format, in dem Sie es eingegeben haben) den verbleibenden Stapel aus, wobei das gegessene Stück durch ein Leerzeichen ersetzt wird. Sie werden wiederholen, bis nur noch Ihr Favorit übrig ist. Sie können jeden Kegel zum Essen wählen (kann zufällig oder deterministisch sein). Nachgestellte Leerzeichen müssen eingehalten werden.
Ihre Ausgabesequenz könnte beispielsweise so aussehen (verwenden Sie 5x5 für die Kürze und zeigen Sie Leerzeichen als .
)
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...
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes
TL; DR-Regeln:
- Die Einreichung kann ein vollständiges Programm oder eine Funktion sein
- Die Eingabe kann in jedem vernünftigen Format (Zeichenfolge, Liste, Matrix usw.) mit jeder vernünftigen Methode (STDIN, Funktionsargumente usw.) erfolgen. Es muss jedoch eine gewisse Abgrenzung zwischen den Zeilen geben
- Die Ausgabe muss in demselben Format erfolgen wie die Eingabe mit einer angemessenen Methode (STDOUT, Funktionsrückgabe usw.). Die Zwischenausgabe kann begrenzt sein oder nicht
- Erster Ausgang soll der erste Eingang sein
- Nachgestellte Leerzeichen müssen erhalten bleiben
- Jede Farbreihenfolge kann verwendet werden (Liste in Ihrer Antwort)
- Jeder Kegel der aktuellen Farbe kann gegessen werden
- Die letzte Ausgabe soll nur Ihre Lieblingsfarbe und -räume sein
- Fügen Sie nach Möglichkeit einen Link zu einem Online-Compiler hinzu, um Ihre Einreichung zu testen