Ich habe heute um genau 11:11:11 Uhr auf meine Uhr geschaut (und heute ist 1/11; schade, dass es nicht 2011 ist), und das hat mich zum Nachdenken gebracht: Ich weiß! Ich sollte daraus eine Code-Golf-Frage machen! Ich bin ein Trottel.
Wie auch immer, Ihre Herausforderung besteht darin, eine Stunde, Minute und Sekunde als Eingabe zu nehmen und die nächste "interessante" Zeit auszugeben. Hier werde ich folgende interessante Schritte definieren:
- Verketten Sie Stunde, Minute und Sekunde. (Zum Beispiel um 4:14:14 wäre dies 41414.)
- Suchen Sie nach aufeinanderfolgenden Gruppen von einer, zwei oder drei, die sich über die Länge der gesamten Zeichenfolge erstrecken. Zum Beispiel könnte ich
[41][41][4]
in der Beispielzeit finden (wenn die Gruppe nicht durch die Zeichenfolge greifen kann, schneiden Sie sie einfach ab, wie ich es in diesem Beispiel getan habe). Ein anderes Beispiel: in der Zeit , in meinem ersten Beispiel am Anfang der Frage, wäre es[1][1][1][1][1][1]
,[11][11][11]
oder[111][111]
. - Gibt es eine aufeinanderfolgende Gruppe, die den gesamten String durchläuft? Wenn ja, ist die Zeit "interessant!" Sonst ist es nicht.
Die Eingabe kann in jedem vernünftigen Format erfolgen, darf jedoch nicht fest codiert sein. Die Ausgabe kann auch in einem beliebigen vernünftigen Format erfolgen und muss nicht im selben Format wie die Eingabe vorliegen.
Wenn Sie aus irgendeinem Grund den Netzwerkzugriff verwenden, zählen alle vom Netzwerk heruntergeladenen Bytes zu Ihrer Punktzahl.
Das ist Code-Golf ; Der kürzeste Code in Bytes gewinnt.
Antworten:
J,
1139990Wahrscheinlich immer noch ziemlich golffähig.
Nimmt einen Vektor
(h m s)
als Eingabe und gibt einen Vektor im gleichen Format wie die Ausgabe zurück.Beispiele:
quelle
Haskell -
227223Das ist eine Möglichkeit, es zu tun.
Beispiele
quelle
Mathematica 125
Es gibt ein Muster der nächsten interessanten Zeit zurück:
a_
markiert das Ende der Zeit.quelle
Lua
Ich habe vier verschiedene Lösungen, da ich mir bei einigen Anforderungen nicht sicher war.
Version 1: Entfernen von Nullen, Befehlszeileneingabe sowie Sicherung von os.time () (315)
Minimiert:
Vollversion mit Kommentaren:
Die anderen Versionen sind sehr ähnlich, daher werde ich nur die minimierten Versionen veröffentlichen:
Version 2: keine Befehlszeileneingabe (239)
Version 3: Keine 0-Entfernung mit Befehlszeileneingabe (240)
Version 4: nichts Besonderes (keine 0-Entfernung oder Befehlszeileneingabe) (164)
Gebrauchsanweisung
Führen Sie in einem Terminal aus (Versionen 1 und 3).
oder nur
Wenn Sie möchten, dass es von der Systemuhr abweicht.
Gibt es einen Preis für die Vollständigkeit der Funktionen? : P.
quelle