Einführung
Hassen Sie es nicht, wenn jemand ein Album, das Sie mögen, auf YouTube hochlädt, aber die Beschreibung nur eine Titelliste enthält ? So was:
1. Everything in Its Right Place - 4:11
2. Kid A - 4:44
3. The National Anthem - 5:50
4. How to Disappear Completely - 5:55
5. Treefingers - 3:42
6. Optimistic - 5:16
7. In Limbo - 3:31
8. Idioteque - 5:09
9. Morning Bell - 4:29
10. Motion Picture Soundtrack - 6:59
Jetzt wissen Sie nicht, wann die Morgenglocke beginnt, es sei denn, Sie haben ein paar Male im Kopf! Normalerweise werden einige gute Seele kommen durch und lassen Sie eine handliche Zeittabelle in der (gefürchteten) Kommentaren, die etwa wie folgt aussieht:
(0:00:00) Everything in Its Right Place
(0:04:11) Kid A
(0:08:55) The National Anthem
(0:14:45) How to Disappear Completely
(0:20:40) Treefingers
(0:24:22) Optimistic
(0:29:38) In Limbo
(0:33:09) Idioteque
(0:38:18) Morning Bell
(0:42:47) Motion Picture Soundtrack
Spezifikation
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu schreiben, die eine Titelliste als Eingabe und eine Zeittabelle als Ausgabe verwendet.
- Sie können Eingaben aus STDIN, einer Argumentzeichenfolge oder einer Argumentliste von Zeilen lesen. Ebenso können Sie die Ausgabe auf STDOUT drucken oder eine Zeichenfolge oder eine Liste von Zeilen zurückgeben. Wenn Sie dies nicht tun, tun Sie, was für Ihre Sprache sinnvoll ist.
Sie können davon ausgehen, dass jede Eingabezeile das Format hat
(\d+)\. [A-Za-z0-9 ]{1,100} - (\d+):(\d\d)
. Für Regex-Betroffene bedeutet dies im Wesentlichen, dass Sie davon ausgehen können, dass jede Zeile gut formatiert ist (wie oben) und dass Songtitel nur aus alphanumerischen ASCII-Zeichen und Leerzeichen bestehen und nicht länger als 100 Byte sind.- Die Länge einer Spur beträgt immer mindestens
0:01
und höchstens59:59
. - Die Titelnummern nehmen in aufsteigender Reihenfolge ab
1
und zählen bis maximal99
. - Die Gesamtlänge eines Albums beträgt nicht mehr als
9:59:59
.
Das ist Code-Golf , also gewinnt der kürzeste Code (in Bytes).
Testfall
Ihr Programm sollte die in der Einführung beschriebene Konvertierung korrekt ausführen (Radiohead's Kid A ). Hier ist ein größerer Testfall (Sufjan Stevens ' Illinois 1 ) mit langen Zeichenketten, an denen Ihr Programm auch arbeiten sollte:
1. Concerning the UFO Sighting Near Highland Illinois - 2:08
2. The Black Hawk War - 2:14
3. Come On Feel the Illinoise - 6:45
4. John Wayne Gacy Jr - 3:19
5. Jacksonville - 5:24
6. A Short Reprise for Mary Todd Who Went Insane but for Very Good Reasons - 0:47
7. Decatur or Round of Applause for Your Stepmother - 3:03
8. One Last Whoo Hoo for the Pullman - 0:06
9. Chicago - 6:04
10. Casimir Pulaski Day - 5:53
11. To the Workers of the Rock River Valley Region - 1:40
12. The Man of Metropolis Steals Our Hearts - 6:17
13. Prairie Fire That Wanders About - 2:11
14. A Conjunction of Drones Simulating the Way - 0:19
15. The Predatory Wasp of the Palisades Is Out to Get Us - 5:23
16. They Are Night Zombies They Are Neighbors They Have Come Back from the Dead Ahhhh - 5:09
17. Lets Hear That String Part Again Because I Dont Think They Heard It All the Way Out in Bushnell - 0:40
18. In This Temple as in the Hearts of Man for Whom He Saved the Earth - 0:35
19. The Seers Tower - 3:53
20. The Tallest Man the Broadest Shoulders - 7:02
21. Riffs and Variations on a Single Note - 0:46
22. Out of Egypt into the Great Laugh of Mankind and I Shake the Dirt from My Sandals as I Run - 4:21
Die korrekte Ausgabe ist:
(0:00:00) Concerning the UFO Sighting Near Highland Illinois
(0:02:08) The Black Hawk War
(0:04:22) Come On Feel the Illinoise
(0:11:07) John Wayne Gacy Jr
(0:14:26) Jacksonville
(0:19:50) A Short Reprise for Mary Todd Who Went Insane but for Very Good Reasons
(0:20:37) Decatur or Round of Applause for Your Stepmother
(0:23:40) One Last Whoo Hoo for the Pullman
(0:23:46) Chicago
(0:29:50) Casimir Pulaski Day
(0:35:43) To the Workers of the Rock River Valley Region
(0:37:23) The Man of Metropolis Steals Our Hearts
(0:43:40) Prairie Fire That Wanders About
(0:45:51) A Conjunction of Drones Simulating the Way
(0:46:10) The Predatory Wasp of the Palisades Is Out to Get Us
(0:51:33) They Are Night Zombies They Are Neighbors They Have Come Back from the Dead Ahhhh
(0:56:42) Lets Hear That String Part Again Because I Dont Think They Heard It All the Way Out in Bushnell
(0:57:22) In This Temple as in the Hearts of Man for Whom He Saved the Earth
(0:57:57) The Seers Tower
(1:01:50) The Tallest Man the Broadest Shoulders
(1:08:52) Riffs and Variations on a Single Note
(1:09:38) Out of Egypt into the Great Laugh of Mankind and I Shake the Dirt from My Sandals as I Run
Bestenliste
Damit Ihre Partitur auf der Tafel erscheint, sollte sie in folgendem Format vorliegen:
# Language, Bytes
1. Entschuldigung an Sufjan, dessen erstaunliche Spurnamen ich ein wenig zerfleischen musste, um sie an das einfache Format anzupassen, auf das sich dieses Problem beschränkt.
(h:mm:ss) Track Name
, unmittelbar gefolgt von einer neuen Zeile.