Wyzwanie
Napisz najkrótszy program, który konwertuje czytelny dla człowieka przedział czasu na datę składników formularza:
{±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS}
Przykładowe przypadki
Każdy przypadek testowy ma dwa wiersze, dane wejściowe i dane wyjściowe:
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}
Zasady
- Nie można użyć
strtotime
ani żadnej wbudowanej funkcji, która wykonuje całą pracę. - Najkrótszy kod wygrywa (bajty)
- Możesz wydrukować swój wynik
stdout
lub plik, wynik może być również zwrócony przez funkcję, to zależy od Ciebie - Token może być w liczbie pojedynczej lub mnogiej.
- Komponenty mogą być w losowej kolejności
- Pomiędzy liczbą a tokenem może nie być białych znaków
- Znak jest opcjonalny, gdy przedział czasu jest dodatni (wejście i wyjście)
- Jeśli składnik pojawia się więcej niż jeden raz, należy dodać wartości
- Każdy element ma swój własny znak
- Elementy należy traktować osobno (np.
80 minutes
Pozostaje na wyjściu jako 80) - Dane wejściowe są gwarantowane małymi literami
Wesołego golfa!
Sign is optional when the time interval is positive
Czy to oznacza, że dane wejściowe mogą zawierać +
znaki?