Inkrementelles Spielzeitformat
Tor
Inkrementelle Spiele haben oft einen Countdown-Zähler, der die Tage, Stunden, Minuten und Sekunden anzeigt, bis eine Aufgabe abgeschlossen ist. Abhängig vom verfügbaren Speicherplatz können sie wie folgt formatiert werden:
2d 13h
23h 59m 48s
14m
3h 0m 0s
Das Ziel dieses Codegolfs ist es, eine Funktion oder ein Programm zu schreiben, die bzw. das diese Formatierung durchführt.
Eingänge
- Die Gesamtanzahl der Sekunden.
- Die maximale Anzahl der auszugebenden Segmente.
Ausgabe
- Segmente umfassen:
- 0w Wochen
- 0 Tage
- 0h Stunden
- 0m Minuten
- 0s Sekunden
- Jedes Segment ist durch ein einzelnes Leerzeichen getrennt.
- Angezeigte Segmente müssen zusammenhängend sein. Beispielsweise werden Stunden und Sekunden nicht ohne Minuten angezeigt, auch wenn keine Minuten vorhanden sind.
- Einstellige Werte haben keine führenden Nullen, ein Wert von Null muss jedoch als angezeigt werden
0
. - Die Werte sind abgerundet.
- Das erste angezeigte Segment ist der erste Wert ungleich Null.
Testfälle
seconds segments output
0 1 0s
123 1 2m
123 2 2m 3s
123 3 2m 3s
82815 3 23h 0m 15s
307891 2 3d 13h
307891 4 3d 13h 31m 31s
604800 1 1w
604800 6 1w 0d 0h 0m 0s
Gewinnen
Die Lösung mit der niedrigsten Byteanzahl in einer Woche gewinnt die "Akzeptanz".
Bearbeitungen
- Klargestellt, welches Segment das erste ist, wie in den Beispielen gezeigt.
- Testfall 4 gemäß Anfrage hinzugefügt.
3d
? "Das erste angezeigte Segment ist der erste Wert ungleich Null"
307891 1
?0w
oder1w
.