Wyświetl emoji wschodniego zodiaku w danym czasie, w zależności od kraju.
Wschodni zodiak to schemat klasyfikacji, który przypisuje zwierzę i jego rzekome atrybuty do każdego roku w powtarzającym się cyklu 12-letnim. Jest również przypisany do godzin.
Zasady:
Kraj należy podać jako kod ISO 3166-1 alfa-3. Lista jest tutaj.
Format wejściowy musi być tak:
<ISO code> HH:MM
. Dane wejściowe muszą być pojedynczym ciągiem. Każde wejście, które nie pasuje do tego formatu, nie ma znaczenia .Jeśli podany czas leży w granicach podanej poniżej tabeli, możesz wygenerować dowolny zodiak.
Ponieważ jest to golfowy kod, wygrywa najkrótszy kod w bajtach.
Zodiaki:
Zodiaki bez określonego kraju są domyślne.
Pierwszy zodiak (23:00 - 01:00):
- Szczur 🐀 (U + 1F400)
- Mysz 🐁 (U + 1F401) w Persji (IRN)
Drugi zodiak (01:00 - 03:00):
- Ox 🐂 (U + 1F402)
- Bawół wodny 🐃 (U + 1F403) w Wietnamie (VNM)
- Krowa 🐄 (U + 1F404) w Persji
Trzeci zodiak (03:00 - 05:00):
- Tygrys 🐅 (U + 1F405)
- Lampart 🐆 (U + 1F406) w Persji
Czwarty zodiak (05:00 - 07:00):
- Królik 🐇 (U + 1F407)
- Cat 🐈 (U + 1F408) w Wietnamie
Piąty zodiak (07:00 - 09:00):
- Dragon 🐉 (U + 1F409)
- Krokodyl 🐊 (U + 1F40A) / Wieloryb 🐋 (U + 1F40B) w Persji (możesz wyprowadzać oba)
- Ślimak 🐌 (U + 1F40C) w Kazachstanie (KAZ)
Szósty zodiak (09:00 - 11:00):
- Snake 🐍 (U + 1F40D)
Siódmy zodiak (11:00 - 13:00):
- Koń 🐎 (U + 1F40E)
Ósmy zodiak (13:00 - 15:00):
- Ram 🐏 (U + 1F40F)
- Koza 🐐 (U + 1F410) w Wietnamie
- Owca 🐑 (U + 1F411) w Persji
Dziewiąty zodiak (15:00 - 17:00):
- Monkey 🐒 (U + 1F412)
Dziesiąty zodiak (17:00 - 19:00):
- Kogut 🐓 (U + 1F413)
- Kurczak 🐔 (U + 1F414) w Persji
Jedenasty zodiak (19:00 - 21:00):
- Pies 🐕 (U + 1F415)
Dwunasty zodiak (21:00 - 23:00):
- Świnia 🐖 (U + 1F416)
- Dzik 🐗 (U + 1F417) w Japonii (JPN)
- Elephant 🐘 (U + 1F418) w Tajlandii (THA)
Punkty kodowe są stąd.
Przykład:
Biorąc pod uwagę następujące dane wejściowe:
KOR 19:42
Dane wyjściowe muszą być:
🐕
Odpowiedzi:
05AB1E ,
666463 bajtówWypróbuj online!
źródło
JavaScript (ES6),
168 165 160 157155 bajtówZaoszczędź 4 bajty dzięki @Neil
Zwraca krokodyla na 5 th zodiaku w Persji.
Wypróbuj online!
W jaki sposób?
Podsumowano to w poniższej tabeli:
Skomentował
źródło
String.fromCodePoint(128e3+~~
oszczędza 4 bajty.PHP , 185 znaków, 263 bajty
Dzięki Dannyu NDos za naprawę błędów.
Wypróbuj online!
Po prostu proste mapowanie tablicy, powinny istnieć lepsze sposoby na grę w golfa. Część godzinowa czasu wejściowego jest konwertowana na liczbę parzystą (0–22), a następnie jest dzielona przez 2, aby uzyskać indeks tablicy 0 do 11 w odwzorowaniu. Przedziały czasowe ze specjalnymi przypadkami są pod-tablicą z indeksem 0 zamapowanym na znak domyślny i 1-5 zamapowanym na znak specjalny dla IRN, VNM, KAZ, JPN i THA w tej samej kolejności.
źródło
Węgiel drzewny , 73 bajty
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
0x1F400
= 128 000 (φ
jest wstępnie zdefiniowany na 1000). Jest to dodawane do sumy reszty wyrażenia i konwertowane na znak do niejawnego wydruku.Godzinę wyodrębnia się i przelicza na wskaźnik zodiaku.
Skompresowany ciąg
IRN VNMIRN IRN VNM IRNIRNKAZ VNMIRN IRN JPNTHA
jest dzielony na spacje i obcinany do długości określonej przez ten indeks.Tablica jest następnie odwracana, mapowana i sumowana.
W przypadku pierwszego elementu ciąg jest dzielony na grupy po trzy znaki i pobierany jest indeks kraju, w przeciwnym razie liczona jest liczba krajów. W przypadku pierwszego elementu indeks musi zostać przekonwertowany z indeksowania 0 na indeksowanie 1, natomiast w przypadku pozostałych elementów wynik należy zwiększyć dla kraju domyślnego, więc odbywa się to poza trójskładnikiem.
źródło
Python 3 , 168 bajtów
Wypróbuj online!
źródło