Введение
Разве вы не ненавидите, когда кто-то загружает понравившийся вам альбом на YouTube, но описание содержит только список треков ? Так:
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
Теперь вы не знаете, когда начинается Morning Bell, если вы не суммируете кучу раз в своей голове! Обычно приходит какая-то добрая душа и оставляет удобный график в разделе (страшных) комментариев, который выглядит примерно так:
(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
Спецификация
Ваша задача - написать программу или функцию, которая принимает список дорожек в качестве входных данных и таблицу времени в качестве выходных данных.
- Вы можете прочитать входные данные из STDIN, или строку аргумента, или список аргументов строки. Точно так же вы можете распечатать вывод в STDOUT, или вернуть строку, или вернуть список строк. В противном случае делайте все, что имеет смысл для вашего языка.
Вы можете предположить, что каждая строка ввода имеет формат
(\d+)\. [A-Za-z0-9 ]{1,100} - (\d+):(\d\d)
. Для регулярных выражений это, по сути, означает, что вы можете предположить, что каждая строка хорошо отформатирована (как указано выше), а названия песен состоят только из буквенно-цифровых символов и пробелов ASCII и имеют длину не более 100 байт.- Длина трека всегда не меньше
0:01
и не больше59:59
. - Номера треков увеличиваются в порядке, начиная с
1
и считая не более чем99
. - Общая длина альбома не более
9:59:59
.
Это код-гольф , поэтому выигрывает самый короткий код (в байтах).
Прецедент
Ваша программа должна правильно выполнить преобразование, представленное во введении ( Ребенок Radiohead ). Вот более крупный тестовый сценарий ( Иллинойс Суфьяна Стивенса 1 ) с длинными строками, с которыми ваша программа также должна работать:
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
Правильный вывод:
(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
Leaderboard
Чтобы ваш счет отображался на доске, он должен быть в следующем формате:
# Language, Bytes
1. Извиняюсь перед Суфджаном, чьи удивительные названия треков мне пришлось немного исказить, чтобы они соответствовали простому формату, которым ограничена эта проблема.
(h:mm:ss) Track Name
, сопровождаемый немедленно новой строкой .