Formato de tiempo de juego incremental
Objetivo
Los juegos incrementales a menudo tienen un temporizador de cuenta regresiva que expresa los días, horas, minutos y segundos hasta que se complete una tarea. Dependiendo del espacio disponible, pueden formatearse como:
2d 13h
23h 59m 48s
14m
3h 0m 0s
El objetivo de este código de golf es escribir una función o programa que realice este formateo.
Entradas
- El número total de segundos.
- El número máximo de segmentos a la salida.
Salida
- Los segmentos incluyen:
- 0 semanas
- 0 días
- 0h horas
- 0m minutos
- 0 segundos
- Cada segmento está separado por un solo espacio.
- Los segmentos mostrados deben ser contiguos. Por ejemplo, no mostrará horas y segundos sin mostrar minutos, incluso si hay cero minutos.
- Los valores de un solo dígito no tienen ceros a la izquierda, aunque un valor de cero debe mostrarse como
0
. - Los valores se redondean hacia abajo.
- El primer segmento que se muestra es el primer valor distinto de cero.
Casos de prueba
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
Victorioso
La solución de recuento de bytes más baja en una semana ganará "aceptación".
Ediciones
- Se aclaró qué segmento es primero, como se muestra en los ejemplos.
- Se agregó el caso de prueba 4 según la solicitud.
3d
? "El primer segmento que se muestra es el primer valor distinto de cero"
307891 1
?0w
o1w
.