Formato Incremental da Hora do Jogo
Objetivo
Jogos incrementais geralmente têm um contador regressivo que expressa os dias, horas, minutos e segundos até que uma tarefa seja concluída. Dependendo do espaço disponível, eles podem ser formatados como:
2d 13h
23h 59m 48s
14m
3h 0m 0s
O objetivo deste código golf é escrever uma função ou programa que execute essa formatação.
Entradas
- O número total de segundos.
- O número máximo de segmentos para saída.
Resultado
- Os segmentos incluem:
- 0 semanas
- 0d dias
- 0h horas
- 0m minutos
- 0s segundos
- Cada segmento é separado por um único espaço.
- Os segmentos exibidos devem ser contíguos. Por exemplo, você não mostrará horas e segundos sem mostrar minutos, mesmo que haja zero minutos.
- Os valores de um dígito não possuem zeros à esquerda, embora um valor zero deva ser mostrado como
0
. - Os valores são arredondados para baixo.
- O primeiro segmento exibido é o primeiro valor diferente de zero.
Casos de teste
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
Ganhando
A solução mais baixa de contagem de bytes em uma semana ganhará "aceitação".
Editar% s
- Esclareceu qual segmento é o primeiro, como mostrado nos exemplos.
- Adicionado caso de teste 4 conforme solicitação.
3d
? "O primeiro segmento exibido é o primeiro valor diferente de zero"
307891 1
?0w
ou1w
.