Perayaan banyak wajah APL
Diberikan string di antara mereka di kolom 1 atau kolom 2 dari tabel di bawah ini, kembalikan tetangga string ke kanan. Dengan kata lain, jika diberi string di kolom 1 maka kembalikan string kolom 2 di baris itu, dan jika diberi string di kolom 2 maka kembalikan string kolom 3 di baris itu.
Codepoints (selain dari :
) tercantum di paling kanan.
kolom 1 kolom 2 kolom 3
:⊢
→ ⍡
→ ⊣:
U + 22a2 U + 2361 U + 22a3
:▷
→ ⍢
→ ◁:
U + 25b7 U + 2362 U + 25c1
:⋆
→ ⍣
→ ⋆:
U + 22c6 U + 2363 U + 22c6
:∘
→ ⍤
→ ∘:
U + 2218 U + 2364 U + 2218
:○
→ ⍥
→ ○:
U + 25cb U + 2365 U + 25cb
:≀
→ ⍨
→ ≀:
U + 2240 U + 2368 U + 2240
:∧
→ ⍩
→ ∨:
U + 2227 U + 2369 U + 2228
Anekdot: Sebagian besar simbol ini valid atau diusulkan dalam beberapa dialek APL (semuanya adalah tautan).
Per permintaan, hanya simbol:
:⊢ ⍡ ⊣:
:▷ ⍢ ◁:
:⋆ ⍣ ⋆:
:∘ ⍤ ∘:
:○ ⍥ ○:
:≀ ⍨ ≀:
:∧ ⍩ ∨:
Python 3 ,
140137116 byteCobalah online!
sumber
:
matanya.Jelly , 56 byte
Program lengkap.
Cobalah online!
Catatan: (
ɱaɲ
!) Walaupun ada beberapa pola pada non-:
ordinals (kolom tengah hampir berurutan, banyak yang kiri dan haknya sama - hanya dua dengan satu dan satu dari sepuluh), sepertinya tidak cukup untuk set data kecil untuk memungkinkan byte mana pun menyimpan lebih dari ini.Tiga belas byte pertama juga bisa
“¡ÐɼU¹’ṃ“"%#‘
.Bagaimana?
sumber
PHP , 147 byte
Cobalah online!
sumber
array_flip
!array_flip
adalah satu atau dua byte lebih pendek sebagai alternatifarray_search
dan multibyte dalam hal ini membutuhkan banyak byte. Tidak menyenangkan untuk menjadi lebih lama karena C #05AB1E ,
585654 byteCobalah online!
Penjelasan
Metode di atas harus bekerja dengan angka apa pun dalam jangkauan
[8676 ... 8728]
, jadi jika saya dapat menemukan nomor di sana yang dapat dihasilkan dalam 3 byte saya bisa menyimpan byte di atas solusi saat ini.sumber