Wprowadzenie:
Na półkuli północnej (tj. W Europie, Ameryce Północnej itp.) Pory roku są podzielone w następujący sposób:
- Wiosna: marzec, kwiecień, maj
- Lato: czerwiec, lipiec, sierpień
- Jesień: wrzesień, październik, listopad
- Zima: grudzień , Styczeń luty
Jednak na półkuli południowej (tj. W Australii, Ameryce Południowej itp.) Pory roku są podzielone w następujący sposób:
- Wiosna: wrzesień, październik, listopad
- Lato: grudzień, styczeń, luty
- Jesień: marzec, kwiecień, maj
- Zima: Czerwiec lipiec sierpień
Różnica wynika z położenia słońca względem równika, gdzie półkule północna i południowa mają przeciwne pory roku.
Wejście:
W tym wyzwaniu weźmiemy dwa dane wejściowe:
- Jeden za miesiąc (
1 <= m <= 12lub0 <= m <= 11) (przykłady i przypadki testowe są indeksowane 1). - I jeden do pięciu pozycji „grup” na szerokościach geograficznych Ziemi (
-2 <= p <= 2), gdzie-2jest Antarktyka,-1jest półkula południowa wyłączeniem Antarktyka,0są Tropics w pobliżu równika,1jest północna półkula wyjątkiem Arktyki i2jest Arktyka.
Chociaż Arktyka, Antarktyda i Tropiki oczywiście mają jeszcze pory roku, w związku z tym wyzwaniem powiemy, że Arktyka i Antarktyda są w stałym stanieWinter, a tropik jest w stałym stanieSummer.
Oto wizualna reprezentacja tych pięciu grup, gdzie -2jest Koło Antarktyczne; -1między zwrotnikiem koziorożca i kołem antarktycznym; 0między Zwrotnikiem Koziorożca i Zwrotnikiem Raka; 1między kołem podbiegunowym a zwrotnikiem raka; i -2koło podbiegunowe.

Źródło: COSMOS - Encyklopedia astronomii SAO
Wynik:
Jednym z Spring, Summer, Autumn, lub Winter, po tych zasad:
- Jest wejściową pozycją
2lub-2(arktyczną lub antarktyczną), zawsze wyjściowąWinter. - Czy wejście pozycji
0(zwrotniki), zawsze wyjścieSummer. - Czy wejście pozycji
1(półkula północna), wyjście jednego z czterech sezonów na podstawie danych wejściowych miesiąca:Spring(m = [3,5]);Summer(m = [6,8]);Autumn(m = [9,11]);Winter(m = 12 or m = [1,2]). - Czy wejście pozycji
-1(półkula południowa), wyjście jednego z czterech sezonów w oparciu o dane miesiąca:Spring(m = [9,11]);Summer(m = 12 or m = [1,2]);Autumn(m = [3,5]);Winter(m = [6,8]).
Zasady konkursu:
- Wyprowadzać cztery odrębne wartości wyboru wskazujące
Spring,Summer,Autumn, lubWinter(proszę podać, co już używany w odpowiedzi).
-15 bajty premię jeśli wyjścieSpring,Summer,Autumn, lubWinterjako tekst (wielkość liter, więc może być w pełni małe lub wielkie, jak również w pełni, zamiast używanych tytułowej przypadku). - Dane miesięczne mogą mieć dowolny rozsądny format. Może być liczbą całkowitą 0 lub 1, obiektem daty, ciągiem miesiąca itp.
- Wejście pozycja zawsze będzie jednym z tych możliwych pięciu wejść
-2,-1,0,1,2.
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki kod-golfowe 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. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i zwracanymi typami, 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:
Position 1-indexed Month Output
-2 8 (August) Winter
-2 12 (December) Winter
-1 3 (March) Autumn
-1 5 (May) Autumn
-1 8 (August) Winter
-1 12 (December) Summer
0 1 (January) Summer
0 7 (July) Summer
1 1 (January) Winter
1 4 (April) Spring
1 7 (July) Summer
1 12 (December) Winter
2 2 (February) Winter
2 9 (September) Winter