Herausforderung
Schreiben Sie den kürzesten Code, der alle Zeitdauern summieren kann, die im stdin erscheinen. Das Programm muss nur die Zeichenfolgen berücksichtigen, die mit einem der folgenden Muster übereinstimmen, und den Rest ignorieren.
HH:MM:SS (it will be interpreted as HH hours, MM minutes and SS seconds)
H:MM:SS (it will be interpreted as H hours, MM minutes and SS seconds)
MM:SS (it will be interpreted as MM minutes, SS seconds)
M:SS (it will be interpreted as M minutes, SS seconds)
Beispiele für Zeichenfolgen, die mit den aufgelisteten Mustern übereinstimmen:
12:00:01
2:03:22
00:53
9:13
Die Ausgabe sollte von der Form sein
HHh MMm SSs (that means HH hours, MM minutes and SS seconds with non-zero-padding)
Beispiel
STDIN
Sehen Sie sich das Begrüßungsvideo an.
Video: 10:37 min.
Sehen Sie sich die Video-Einführung zum Kurs an.
Video: 3:30 min. Sehen Sie sich das Video zur Verwendung der Lektionsübersicht an.
Video: 9:13 min.
In der Videoübersicht sehen Sie, wie Sie mit dem Epsilen-System Ihre Arbeit teilen können.
Video: 03:15 min.
Sehen Sie sich das Video an, um mehr über die Bewertung der akademischen Bereitschaft (STAAR) im US-Bundesstaat Texas zu erfahren.
Video: 1:05:26 min.
STDOUT
1h 32m 1s
1h 19m 18s
zur Ausgabe gekommen? 37+30+13+15+26==121
, 10+3+9+3+5==30
, 1==1
, So erwarte ich 1h 32m 01s
. Was ist falsch an dieser Logik? Ein solches Ausgabeformat ist auch dasjenige, das erwartet wird, nicht wahr?
10:4:56
? Entsprechend der aktuellen Spezifikation müssen sie als behandelt werden4m 56s
, Teile10
werden ignoriert. Gleiche Frage zu10:12:7
bedeutet es10m 12s
beim Ignorieren von7
? Oder kann der Umgang mit solchen Strings implementierungsdefiniert werden?