Zeigen Sie das Emoji des östlichen Tierkreises einer bestimmten Zeit an, je nach Land.
Der östliche Tierkreis ist ein Klassifizierungsschema, das jedem Jahr in einem sich wiederholenden 12-Jahres-Zyklus ein Tier und seine angeblichen Attribute zuordnet. Es ist auch Stunden zugeordnet.
Regeln:
Das Land muss als ISO 3166-1 Alpha-3-Code angegeben werden. Die Liste ist hier.
Das Eingabeformat muss so aussehen:
<ISO code> HH:MM
. Die Eingabe muss eine einzelne Zeichenfolge sein. Jede Eingabe, die nicht in dieses Format passt, ist egal .Wenn die angegebene Zeit in der Grenze der unten angegebenen Tabelle liegt, können Sie einen der beiden Tierkreise ausgeben.
Da dies ein Codegolf ist, gewinnt der kürzeste Code in Bytes.
Die Tierkreise:
Die Zodiacs ohne angegebenes Land sind Standard.
Der erste Tierkreis (23:00 - 01:00):
- Ratte 🐀 (U + 1F400)
- Maus 🐁 (U + 1F401) in Persien (IRN)
Der zweite Tierkreis (01:00 - 03:00):
- Ochse 🐂 (U + 1F402)
- Wasserbüffel 🐃 (U + 1F403) in Vietnam (VNM)
- Kuh 🐄 (U + 1F404) in Persien
Der dritte Tierkreis (03:00 - 05:00):
- Tiger 🐅 (U + 1F405)
- Leopard 🐆 (U + 1F406) in Persien
Der vierte Tierkreis (05:00 - 07:00):
- Kaninchen 🐇 (U + 1F407)
- Katze 🐈 (U + 1F408) in Vietnam
Der fünfte Tierkreis (07:00 - 09:00):
- Drache 🐉 (U + 1F409)
- Krokodil (U + 1F40A) / Wal (U + 1F40B) in Persien (Sie können entweder ausgeben)
- Schnecke 🐌 (U + 1F40C) in Kasachstan (KAZ)
Der sechste Tierkreis (09:00 - 11:00):
- Schlange 🐍 (U + 1F40D)
Der siebte Tierkreis (11:00 - 13:00):
- Pferd 🐎 (U + 1F40E)
Der achte Tierkreis (13:00 - 15:00):
- Ram 🐏 (U + 1F40F)
- Ziege 🐐 (U + 1F410) in Vietnam
- Schaf 🐑 (U + 1F411) in Persien
Der neunte Tierkreis (15:00 - 17:00):
- Affe 🐒 (U + 1F412)
Der zehnte Tierkreis (17:00 - 19:00):
- Hahn 🐓 (U + 1F413)
- Huhn 🐔 (U + 1F414) in Persien
Der elfte Tierkreis (19:00 - 21:00):
- Hund 🐕 (U + 1F415)
Der zwölfte Tierkreis (21:00 - 23:00):
- Schwein 🐖 (U + 1F416)
- Wildschwein 🐗 (U + 1F417) in Japan (JPN)
- Elefant 🐘 (U + 1F418) in Thailand (THA)
Die Codepunkte sind von hier.
Beispiel:
Bei folgender Eingabe:
KOR 19:42
Die Ausgabe muss sein:
🐕
Antworten:
05AB1E ,
666463 BytesProbieren Sie es online!
quelle
JavaScript (ES6),
168 165 160 157155 Byte4 Bytes dank @Neil gespeichert
Gibt das Krokodil für die 5 - ten Sternzeichen in Persien.
Probieren Sie es online!
Wie?
Der letzte Codepunkt ist , wobei der Länderversatz ist.128000+bk+ck ck
Dies ist in der folgenden Tabelle zusammengefasst:
Kommentiert
quelle
String.fromCodePoint(128e3+~~
Spart 4 Bytes.PHP , 185 Zeichen, 263 Bytes
Vielen Dank an Dannyu NDos für die Fehlerbehebung.
Probieren Sie es online!
Nur ein einfaches Array-Mapping, es sollte bessere Möglichkeiten geben, dies zu tun. Der Stundenanteil der Eingabezeit wird in eine gerade Zahl (0-22) umgewandelt und dann durch 2 geteilt, um den Array-Index 0 bis 11 im Mapping zu erhalten. Zeiträume mit Sonderfällen sind ein Unterfeld mit Index 0, das dem Standardzeichen und 1-5 dem Sonderzeichen für IRN, VNM, KAZ, JPN und THA in derselben Reihenfolge zugeordnet ist.
quelle
Kohle , 73 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erklärung:
0x1F400
= 128.000 (φ
ist auf 1.000 vordefiniert). Dies wird zur Summe des restlichen Ausdrucks addiert und in ein Zeichen für implizites Drucken konvertiert.Die Stunde wird extrahiert und in einen Tierkreisindex umgewandelt.
Die komprimierte Zeichenfolge
IRN VNMIRN IRN VNM IRNIRNKAZ VNMIRN IRN JPNTHA
wird in Leerzeichen aufgeteilt und auf die durch diesen Index angegebene Länge gekürzt.Das Array wird dann umgekehrt, überlagert und summiert.
Für das erste Element wird die Zeichenfolge in Dreiergruppen aufgeteilt und der Länderindex verwendet, andernfalls wird die Anzahl der Länder gezählt. Für das erste Element muss der Index von 0-Indexierung in 1-Indexierung konvertiert werden, während für die anderen Elemente das Ergebnis für das Standardland inkrementiert werden muss, sodass dies außerhalb des Ternärs erfolgt.
quelle
Python 3 , 168 Bytes
Probieren Sie es online!
quelle