Świętowanie wielu twarzy APL
Biorąc pod uwagę ciąg znaków z tych w kolumnie 1 lub kolumnie 2 poniższej tabeli, zwróć sąsiada łańcucha po jego prawej stronie. Innymi słowy, jeśli podano ciąg w kolumnie 1, zwróć ciąg z kolumny 2 w tym wierszu, a jeśli podano ciąg w kolumnie 2, zwróć ciąg z kolumny 3 w tym wierszu.
Punkty kodowe (inne niż :
) są wymienione po prawej stronie.
kolumna 1 kolumna 2 kolumna 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
Anegdota: Większość tych symboli jest poprawna lub proponowana w niektórych dialektach APL (wszystkie są linkami).
Na życzenie tylko symbole:
:⊢ ⍡ ⊣:
:▷ ⍢ ◁:
:⋆ ⍣ ⋆:
:∘ ⍤ ∘:
:○ ⍥ ○:
:≀ ⍨ ≀:
:∧ ⍩ ∨:
Python 3 ,
140137116 bajtówWypróbuj online!
źródło
:
oczy.Galaretka , 56 bajtów
Pełny program.
Wypróbuj online!
Uwaga: (
ɱaɲ
!) Chociaż istnieje:
nieregularny wzór (środkowa kolumna prawie z rzędu, wiele lewych i prawych są takie same - tylko dwa po jednym i jeden po dziesięciu), to po prostu nie wydaje się wystarczające dla takiego mały zestaw danych, aby umożliwić zapisywanie bajtów nad tym.Pierwsze trzynaście bajtów może być również
“¡ÐɼU¹’ṃ“"%#‘
.W jaki sposób?
źródło
PHP , 147 bajtów
Wypróbuj online!
źródło
array_flip
!array_flip
jest o jeden lub dwa bajty krótszy jako alternatywa,array_search
a wielobajtowy w tym przypadku kosztuje dużo bajtów. Nie jest miło być dłuższym niż C #05AB1E ,
585654 bajtówWypróbuj online!
Wyjaśnienie
Powyższa metoda powinna działać z dowolną liczbą w zakresie
[8676 ... 8728]
, więc jeśli znajdę tam liczbę, którą można wygenerować w 3 bajtach, mógłbym zapisać bajt nad bieżącym rozwiązaniem.źródło