Herausforderung
Schreiben Sie das kürzeste Programm, das ein vom Menschen lesbares Zeitintervall in Datumskomponenten des Formulars konvertiert:
{±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS}
Beispielfälle
Jeder Testfall besteht aus zwei Zeilen, Eingabe gefolgt von Ausgabe:
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}
Regeln
- Sie können
strtotime
keine integrierte Funktion verwenden, die die gesamte Arbeit erledigt. - Kürzester Code gewinnt (Bytes)
- Sie können Ihre Ausgabe in
stdout
oder in eine Datei drucken , das Ergebnis kann auch von einer Funktion zurückgegeben werden, es liegt an Ihnen - Das Token kann in Singular- oder Pluralform vorliegen.
- Die Komponenten können in zufälliger Reihenfolge sein
- Zwischen der Nummer und dem Token darf kein Leerzeichen sein
- Das Vorzeichen ist optional, wenn das Zeitintervall positiv ist (Eingabe und Ausgabe).
- Wenn eine Komponente mehrmals vorkommt, sollten die Werte hinzugefügt werden
- Jede Komponente hat ein eigenes Vorzeichen
- Die Komponenten sollten separat behandelt werden (zB
80 minutes
bleibt als 80 in der Ausgabe) - Die Eingabe erfolgt garantiert in Kleinbuchstaben
Viel Spaß beim Golfen!
Sign is optional when the time interval is positive
Bedeutet das, dass die Eingabe +
Zeichen enthalten kann ?