Desafío
Escriba el programa más corto que convierta un intervalo de tiempo legible por humanos en componentes de fecha del formulario:
{±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS}
Casos de muestra
Cada caso de prueba tiene dos líneas, entrada seguida de salida:
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}
Reglas
- No puede usar
strtotime
ninguna función incorporada que haga todo el trabajo. - El código más corto gana (bytes)
- Puede imprimir su salida
stdout
o un archivo, el resultado también puede ser devuelto por una función, depende de usted - El token puede estar en forma singular o plural.
- Los componentes pueden estar en un orden aleatorio
- Es posible que no haya espacios en blanco entre el número y el token
- El signo es opcional cuando el intervalo de tiempo es positivo (entrada y salida)
- Si un componente aparece más de una vez, se deben agregar los valores
- Cada componente tiene su propio signo
- Los componentes deben manejarse por separado (por ejemplo,
80 minutes
permanece como 80 en la salida) - Se garantiza que la entrada sea minúscula
¡Feliz golf!
Sign is optional when the time interval is positive
¿Eso significa que la entrada puede contener +
signos?