Exiba o emoji do zodíaco oriental de um determinado momento, de acordo com o país.
O zodíaco oriental é um esquema de classificação que atribui um animal e seus atributos de renome a cada ano em um ciclo repetido de 12 anos. Também é atribuído a horas.
Regras:
O país deve ter o código ISO 3166-1 alfa-3. A lista está aqui.
O formato de entrada deve ser assim:
<ISO code> HH:MM
. A entrada deve ser uma única sequência. Qualquer entrada que não se encaixe nesse formato se enquadra na situação não se importa .Se o tempo determinado estiver no limite do gráfico abaixo, você poderá gerar um ou outro zodíaco.
Como este é um código de golfe, o código mais curto em bytes vence.
Os zodiacs:
Os zodiacs sem país especificado são padrões.
O primeiro zodíaco (23:00 - 01:00):
- Rato 🐀 (U + 1F400)
- Mouse 🐁 (U + 1F401) na Pérsia (IRN)
O segundo zodíaco (01:00 - 03:00):
- Boi 🐂 (U + 1F402)
- Búfalo de água 🐃 (U + 1F403) no Vietnã (VNM)
- Vaca 🐄 (U + 1F404) na Pérsia
O terceiro zodíaco (03:00 - 05:00):
- Tigre 🐅 (U + 1F405)
- Leopardo 🐆 (U + 1F406) na Pérsia
O quarto zodíaco (05:00 - 07:00):
- Coelho 🐇 (U + 1F407)
- Cat 🐈 (U + 1F408) no Vietnã
O quinto zodíaco (07:00 - 09:00):
- Dragão 🐉 (U + 1F409)
- Crocodilo 🐊 (U + 1F40A) / Baleia 🐋 (U + 1F40B) na Pérsia (você também pode produzir)
- Caracol 🐌 (U + 1F40C) no Cazaquistão (KAZ)
O sexto zodíaco (09:00 - 11:00):
- Cobra 🐍 (U + 1F40D)
O sétimo zodíaco (11:00 - 13:00):
- Cavalo 🐎 (U + 1F40E)
O oitavo zodíaco (13:00 - 15:00):
- Ram 🐏 (U + 1F40F)
- Cabra 🐐 (U + 1F410) no Vietnã
- Ovinos 🐑 (U + 1F411) na Pérsia
O nono zodíaco (15:00 - 17:00):
- Macaco 🐒 (U + 1F412)
O décimo zodíaco (17:00 - 19:00):
- Galo 🐓 (U + 1F413)
- Frango 🐔 (U + 1F414) na Pérsia
O décimo primeiro zodíaco (19:00 - 21:00):
- Cão 🐕 (U + 1F415)
O décimo segundo zodíaco (21:00 - 23:00):
- Porco 🐖 (U + 1F416)
- Javali 🐗 (U + 1F417) no Japão (JPN)
- Elefante 🐘 (U + 1F418) na Tailândia (THA)
Os pontos de código são daqui.
Exemplo:
Dada a seguinte entrada:
KOR 19:42
A saída deve ser:
🐕
Respostas:
05AB1E ,
666463 bytesExperimente online!
fonte
JavaScript (ES6),
168 165 160 157155 bytesGuardado 4 bytes graças a @Neil
Retorna o crocodilo para o 5º zodíaco na Pérsia.
Experimente online!
Quão?
Isso está resumido na tabela a seguir:
Comentado
fonte
String.fromCodePoint(128e3+~~
salva 4 bytes.PHP , 185 caracteres, 263 bytes
Obrigado ao Dannyu NDos pela correção de bugs.
Experimente online!
Apenas um mapeamento de matriz simples, deve haver maneiras melhores de jogar isso. A parte da hora do tempo de entrada é convertida em um número par (0-22) e, em seguida, é dividida por 2 para obter o índice de matriz de 0 a 11 no mapeamento. Os períodos de tempo com casos especiais são uma sub-matriz com o índice 0 mapeado para o sinal padrão e 1-5 mapeado para o sinal especial para IRN, VNM, KAZ, JPN e THA na mesma ordem.
fonte
Carvão , 73 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
0x1F400
= 128.000 (φ
é predefinido para 1.000). Isso é adicionado à soma do restante da expressão e convertido em um caractere para impressão implícita.A hora é extraída e convertida em um índice do zodíaco.
A cadeia compactada
IRN VNMIRN IRN VNM IRNIRNKAZ VNMIRN IRN JPNTHA
é dividida em espaços e truncada para o comprimento fornecido por esse índice.A matriz é então invertida, mapeada e somada.
Para o primeiro elemento, a sequência é dividida em grupos de três caracteres e o índice do país é obtido, caso contrário, o número de países é contado. Para o primeiro elemento, o índice precisa ser convertido da indexação 0 para a indexação 1, enquanto para os outros elementos o resultado precisa ser incrementado para o país padrão, portanto, isso é feito fora do ternário.
fonte
Python 3 , 168 bytes
Experimente online!
fonte