Desafio
Escreva o programa mais curto que converte um intervalo de tempo legível por humanos em componentes de data do formulário:
{±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS}
Casos de amostra
Cada caso de teste é de duas linhas, entrada seguida por saída:
1 year 2 months 3 seconds
{1|2|0|0|0|3}
-2 day 5 year 8months
{5|8|-2|0|0|0}
3day 9 years 4 seconds -5 minute 4 years 4 years -3seconds
{17|0|3|0|-5|1}
Regras
- Você não pode usar
strtotime
ou qualquer função interna que faça todo o trabalho. - Vitórias com códigos mais curtos (bytes)
- Você pode imprimir sua saída
stdout
ou um arquivo, o resultado também pode ser retornado por uma função, cabe a você - O token pode estar na forma singular ou plural.
- Os componentes podem estar em uma ordem aleatória
- Pode não haver espaço em branco entre o número e o token
- O sinal é opcional quando o intervalo de tempo é positivo (entrada e saída)
- Se um componente aparecer mais de uma vez, os valores devem ser adicionados
- Cada componente tem seu próprio sinal
- Os componentes devem ser manuseados separadamente (por exemplo,
80 minutes
permanecem 80 na saída) - A entrada é garantida em minúsculas
Golfe feliz!
Sign is optional when the time interval is positive
Isso significa que a entrada pode conter +
sinais?