Wejście:
A Data (zawierającą dd
, MM
i yyyy
). Obiekt daty lub trzy oddzielne liczby całkowite są również ważne jako dane wejściowe.
Wynik:
Każda część ( dd
, MM
i yyyy
) indywidualnie cofnięta i zaokrąglona do najbliższej ważnej daty.
Na przykład (w formacie dd-MM-yyyy
):
21-10-2016
staje się12-01-6102
Zasady konkursu:
- Tylko
dd
,MM
,yyyy
jest ważny, ale kolejność i który oddzielny symbole używasz jest twój własny wybór.
To są niektóre ważne przykłady formatów:dd-MM-yyyy
;MM/dd/yyyy
;yyyy MM dd
;ddMMyyyy
, Itd.
A oto kilka przykładów Nieprawidłowy format:dd MMM yyyy
;dd-MM-'yy
; itp. - Możesz także wybrać wprowadzenie obiektu daty, jeśli Twój język go obsługuje lub trzy oddzielne parametry liczb całkowitych zamiast ciągu reprezentującego datę.
- Podaj używany format daty! (A dane wejściowe i wyjściowe muszą być w tym samym formacie.) Dozwolone jest również generowanie obiektu Date, o ile może on obsłużyć wszystkie przypadki testowe i regułę wyzwania poniżej.
- Przejście kalendarza juliańskiego do kalendarza gregoriańskiego jest ignorowane w przypadku tego wyzwania.
1582
Jest to więc tylko ważny odwrócony rok2851
.
Zobacz informacje / wskazówki dotyczące wyzwań dla wszystkich ważnych lat, miesięcy i dni. - Ponieważ nie możesz mieć lutego w odwrotnym kierunku niż jakikolwiek inny miesiąc, nie musisz się martwić o lata przestępne.
Wszystkie odwrócone lata, miesiące i dni:
- Rok można zawsze bez problemu cofnąć, sięgając od 0001 (cofnięty z
1000
) do 9999 (pozostały9999
). (Więc0000
nie jest to poprawny wpis i nie ma też dla niego przypadków testowych). - Jedyne miesiące, które cofniesz to: styczeń (odwrócony od października /
10
); Październik (odwrócony od stycznia /01
); Listopad (pozostaje listopad /11
); i grudzień (odwrócone co drugi miesiąc /02
-09
,12
). - Jedyne dni, które cofniesz to: 01 (odwrócony od
10
), 02 (odwrócony od20
), 03 (odwrócony od30
), 10 (odwrócony od01
), 11 (pozostanie11
), 12 (odwrócony od21
), 13 (odwrócony od31
) , 20 (odwrócone od02
), 21 (odwrócone od12
), 22 (pozostaje22
), 30 (odwrócone od03
lub to samo co 31 w listopadzie!), 31 (odwrócone od04
-09
/13
-19
/23
-29
).
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Odpowiedzi dotyczą standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i instrukcji return / output, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
Przypadki testowe ( dd-MM-yyyy
jako format):
21-07-2016 -> 12-12-6102
12-11-1991 -> 21-11-1991
01-01-2000 -> 10-10-0002
27-08-1875 -> 31-12-5781
18-12-2010 -> 31-12-0102
13-01-1981 -> 31-10-1891
04-11-1671 -> 30-11-1761 // Semi-tricky case, since November has 30 days
28-11-2036 -> 30-11-6302 // Semi-tricky case, since November has 30 days
14-06-1855 -> 31-12-5581
30-10-9999 -> 03-01-9999
01-01-2851 -> 10-10-1582
70
.
10-10-2
ważne jest wyjście w trzecim przypadku?
21-07-2016
jest cofane,12-70-6102
co jest zaokrąglane do12-12-6102
. Nie jestem pewien, jak uzyskać wynik##-10-6107
.