Tampilkan emoji zodiak timur pada waktu tertentu, sesuai dengan negara yang diberikan.
Zodiak timur adalah skema klasifikasi yang menetapkan hewan dan atribut-atributnya yang terkenal setiap tahun dalam siklus 12 tahun yang berulang. Itu juga ditugaskan untuk jam.
Aturan:
Negara harus diberikan kode ISO 3166-1 alpha-3. Daftarnya ada di sini.
Format input harus seperti ini:
<ISO code> HH:MM
. Input harus berupa string tunggal. Masukan apa pun yang tidak cocok dengan format ini masuk dalam situasi tidak peduli .Jika waktu yang diberikan terletak pada batas grafik yang diberikan di bawah ini, Anda dapat menampilkan zodiak.
Karena ini adalah kode golf, kode terpendek dalam byte akan menang.
Zodiak:
Zodiak tanpa negara yang ditentukan adalah default.
Zodiak pertama (23:00 - 01:00):
- Tikus 🐀 (U + 1F400)
- Mouse 🐁 (U + 1F401) di Persia (IRN)
Zodiak kedua (01:00 - 03:00):
- Sapi 🐂 (U + 1F402)
- Kerbau Air 🐃 (U + 1F403) di Vietnam (VNM)
- Sapi 🐄 (U + 1F404) di Persia
Zodiak ketiga (03:00 - 05:00):
- Tiger 🐅 (U + 1F405)
- Leopard 🐆 (U + 1F406) di Persia
Zodiak keempat (05:00 - 07:00):
- Kelinci 🐇 (U + 1F407)
- Cat 🐈 (U + 1F408) di Vietnam
Zodiak kelima (07:00 - 09:00):
- Naga 🐉 (U + 1F409)
- Buaya 🐊 (U + 1F40A) / Paus 🐋 (U + 1F40B) di Persia (Anda dapat menampilkan salah satu dari keduanya)
- Siput 🐌 (U + 1F40C) di Kazakhstan (KAZ)
Zodiak keenam (09:00 - 11:00):
- Ular 🐍 (U + 1F40D)
Zodiak ketujuh (11:00 - 13:00):
- Kuda 🐎 (U + 1F40E)
Zodiak kedelapan (13:00 - 15:00):
- Ram 🐏 (U + 1F40F)
- Kambing 🐐 (U + 1F410) di Vietnam
- Domba 🐑 (U + 1F411) di Persia
Zodiak kesembilan (15:00 - 17:00):
- Monyet 🐒 (U + 1F412)
Zodiak kesepuluh (17:00 - 19:00):
- Ayam jantan 🐓 (U + 1F413)
- Ayam 🐔 (U + 1F414) di Persia
Zodiak kesebelas (19:00 - 21:00):
- Anjing 🐕 (U + 1F415)
Zodiak kedua belas (21: 00-23: 00):
- Babi 🐖 (U + 1F416)
- Babi 🐗 (U + 1F417) di Jepang (JPN)
- Gajah 🐘 (U + 1F418) di Thailand (THA)
Poin kode berasal dari sini.
Contoh:
Diberikan input berikut:
KOR 19:42
Outputnya harus:
🐕
Jawaban:
05AB1E ,
666463 byteCobalah online!
sumber
JavaScript (ES6),
168 165 160 157155 byteDisimpan 4 byte berkat @Neil
Mengembalikan buaya untuk zodiak ke- 5 di Persia.
Cobalah online!
Bagaimana?
Ini dirangkum dalam tabel berikut:
Berkomentar
sumber
String.fromCodePoint(128e3+~~
menghemat 4 byte.PHP , 185 karakter, 263 byte
Terima kasih kepada Dannyu NDos untuk perbaikan bug.
Cobalah online!
Hanya pemetaan susunan sederhana, harus ada cara yang lebih baik untuk bermain golf ini. Jam bagian dari waktu input dikonversi ke angka genap (0-22) dan kemudian dibagi dengan 2 untuk mendapatkan indeks array 0 hingga 11 dalam pemetaan. Periode waktu dengan case khusus adalah sub-array dengan indeks 0 dipetakan ke tanda default dan 1-5 dipetakan ke tanda khusus untuk IRN, VNM, KAZ, JPN dan THA dalam urutan yang sama.
sumber
Arang , 73 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
0x1F400
= 128.000 (φ
sudah ditentukan untuk 1.000). Ini ditambahkan ke jumlah sisa ekspresi dan dikonversi ke karakter untuk cetakan implisit.Jam diekstraksi dan dikonversi menjadi indeks zodiak.
String yang dikompresi
IRN VNMIRN IRN VNM IRNIRNKAZ VNMIRN IRN JPNTHA
dipisah pada spasi dan dipotong sesuai dengan panjang yang diberikan oleh indeks itu.Array kemudian dibalik, dipetakan, dan dijumlahkan.
Untuk elemen pertama, string dipecah menjadi grup-grup yang terdiri dari tiga karakter dan indeks negara diambil, jika tidak, jumlah negara akan dihitung. Untuk elemen pertama, indeks perlu dikonversi dari pengindeksan 0 ke pengindeksan 1 sedangkan untuk elemen lain hasilnya perlu ditambahkan untuk negara default, jadi ini dilakukan di luar terner.
sumber
Python 3 , 168 byte
Cobalah online!
sumber