Інкрементальний формат часу гри
Мета
Інкрементальні ігри часто мають таймер зворотного відліку, що виражає дні, години, хвилини та секунди до завершення завдання. Залежно від наявного місця, вони можуть бути відформатовані у вигляді:
2d 13h
23h 59m 48s
14m
3h 0m 0s
Мета цього коду гольфу - написати функцію або програму, яка виконує таке форматування.
Вхідні дані
- Загальна кількість секунд.
- Максимальна кількість сегментів для виведення.
Вихід
- Сегменти включають:
- 0w тижнів
- 0д днів
- 0 год
- 0 хв
- 0 сек
- Кожен сегмент відокремлений одним пробілом.
- Відображені сегменти повинні бути суміжними. Наприклад, ви не показуватимете години та секунди, не показуючи хвилин, навіть якщо є нульові хвилини.
- Одноцифрові значення не мають провідних нулів, хоча значення нуля повинно бути вказано як
0
. - Значення округляються вниз.
- Перший відображений сегмент - це перше ненульове значення.
Випробування
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
Перемога
Рішення з найменшим числом байтів за один тиждень виграє "прийняття".
Правки
- Уточнили, який сегмент перший, як показано в прикладах.
- Додано тестовий випадок 4 за запитом.
3d
? "Перший відображений сегмент - це перше ненульове значення"
307891 1
?0w
або1w
.