W Corpus są fikcyjne frakcja z popularnej gry wideo Warframe którzy mają nieco ciekawym językiem.
Podczas gdy inne frakcje w grze, takie jak Grineer, mają pewną logikę w swoim języku, Corpus jest po prostu stratnym zamiennikiem języka angielskiego.
Wszystkie słowa Corpus są takie same jak ich angielskie odpowiedniki, z wyjątkiem następujących odwzorowań alfabetycznych:
Powoduje to pewne problemy z wymową, ponieważ:
yes
staje yey
say
się yay
yay
staje yay
sassy
się yayyy
case
staje sięyaye
Oto wersja tekstowa mapowań:
a -> a
b -> t
c -> y
d -> p
e -> e
f -> t
g -> j
h -> k
i -> i
j -> t
k -> k
l -> p
m -> s
n -> t
o -> o
p -> k
q -> r
r -> t
s -> y
t -> p
u -> u
v -> t
w -> j
x -> k
y -> y
z -> b
Wyzwanie
Podany tekst przy użyciu alfabetu angielskiego, wypisz jego tłumaczenie Korpusu.
Na przykład tekst Hello, World!
staje się Keppo, Jotpp!
Corpus
Zasady
- Dane wejściowe będą składały się wyłącznie ze znaków drukowalnych ASCII
- Tekst wejściowy może zawierać spacje i znaki interpunkcyjne, należy je zachować
- Wielkie litery należy zachować
- To jest golf golfowy, więc wygrywa najmniej bajtów!
Testcases
Przypadki testowe są oddzielone za <===========>
pomocą pustej linii między danymi wejściowymi a oczekiwanymi danymi wyjściowymi
Hello, World!
Keppo, Jotpp!
<===========>
Yes
Yey
<===========>
TestcaSe
PeypyaYe
<===========>
Programming Puzzles and Code Golf
Ktojtassitj Kubbpey atp Yope Jopt
<===========>
This text has a
newline in it
Pkiy pekp kay a
tejpite it ip
<===========>
Corpus language best language
Yotkuy patjuaje teyp patjuaje
<===========>
Strip the flesh! Salt the wounds!
Yptik pke tpeyk! Yapp pke joutpy!
<===========>
"Install Warframe" they said, "It'll be fun" they said
"Itypapp Jatttase" pkey yaip, "Ip'pp te tut" pkey yaip
<===========>
What the **** did you just ****ing say about me, you little *****?
I'll have you know I graduated top of my class in the Navy Seals,
and I've been involved in numerous secret raids on Al-Quaeda,
and I have over 300 confirmed kills.
Jkap pke **** pip you tuyp ****itj yay atoup se, you pipppe *****?
I'pp kate you ktoj I jtapuapep pok ot sy ypayy it pke Taty Yeapy,
atp I'te teet ittoptep it tusetouy yeytep taipy ot Ap-Ruaepa,
atp I kate otet 300 yottitsep kippy.
Bonus
Jeśli dołączysz również nagranie audio (lub wideo z dźwiękiem) wymawiające każde z tłumaczeń korpusu testowego, możesz pomnożyć liczbę bajtów przez 1
nagrodę.
źródło
x * 1 == x
). ToOdpowiedzi:
Bash + coreutils, 46
Wypróbuj online!
źródło
05AB1E , 24 bajty
Wyjaśnienie:
Wypróbuj online!
źródło
Węgiel drzewny , 42 bajty
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
źródło
T-SQL, 107 bajtów
Przerwanie linii i wcięcie służą wyłącznie do odczytu.
Używa funkcji SQL 2017
TRANSLATE
do zamiany znaków.Niestety musiałem umieścić (prawie) cały alfabet dwa razy, aby zachować obudowę. Prawdopodobnie są lepsze sposoby, może coś, co obsługuje t jako grupę, ale to zadziałało dla mnie.
Dane wejściowe pochodzą z wcześniej istniejącej tabeli t z kolumną varchar v , zgodnie z naszymi regułami IO .
W takim przypadku tabela musi zostać utworzona przy użyciu sortowania z rozróżnianiem wielkości liter , albo na serwerze z rozróżnianiem wielkości liter, albo za pomocą
COLLATE
słowa kluczowego (nie liczone do całkowitej liczby znaków):źródło
JavaScript (Node.js) , 100 bajtów
Wypróbuj online!
źródło
R , 79 bajtów
Wypróbuj online!
Tylko 3 bajty krótsze niż dosłowne wpisywanie razem ciągów małych i wielkich liter razem ...
R , 79 bajtów
Wypróbuj online!
Bardziej zaawansowany kod, ta sama liczba bajtów.
źródło
Perl 5
-p
, 54 bajtówWypróbuj online!
źródło
Rubinowy , 55 bajtów
Wypróbuj online!
źródło
J ,
7861 bajtów-17 bajtów dzięki FrownyFrog!
Wypróbuj online!
źródło
C # (interaktywny kompilator Visual C #) ,
15183 bajtówWypróbuj online!
Zaoszczędź aż 68 bajtów dzięki Pietu1998!
źródło
Select
s i używając bitowych operatorów do obudów.K (ngn / k) ,
8763616059 bajtówWypróbuj online!
{
}
funkcja z argumentemx
_
na małe literya:
Przypisać doa
!128
Lista0 1 2 ... 127
@[!128;
;:;
wartości indeksów]
zmieniają go, zastępując elementy w indeksach podanymi wartościami98+!25
lista, dla98 99 100 ... 122
której są kody ascii"bcd
...z"
zestawienie indeksuje, dlatego używamy
a
(domyślnie konwertowane na liczby całkowite) jako indeksy na zmienionej liściex-a-
odejmij oda
, a następnie odejmij formularzx
; to przywraca wielkie / małe litery, jak w oryginalnym ciągu`c$
konwertować na postacieźródło
Retina 0.8.2 , 59 bajtów
Wypróbuj online! Link zawiera przypadki testowe. Wyjaśnienie:
Przed każdą literą poprzedzaj znak spoza ASCII. (Próbowałem użyć niełamliwego spacji, ale Firefox mógł zmienić go z powrotem na zwykłe spację po skopiowaniu i wklejeniu).
Wielkie litery wszystkich liter.
Konwertuj litery na korpus.
Małe litery po znaku spoza ASCII i usuń znak spoza ASCII.
Naiwne rozwiązanie ma 63 bajty:
Wypróbuj online! Link zawiera przypadki testowe.
źródło
Python 2 , 115 bajtów
Wypróbuj online!
Na podstawie odpowiedzi @ ElPedro. Generuje to zamiennik dla każdego znaku ascii w tablicy,
a
a następnie używastr.translate
.Może zostać sprowadzony do 113 bajtów, jeśli zwracanie tablicy znaków jest dopuszczalne:
Wypróbuj online!
źródło
Galaretka , 29 bajtów
Wypróbuj online!
źródło
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
oszczędza 4. (Nie mogę się pozbyć „y”,ØY
ponieważ jest po prawej stronie mapy)Japt , 37 bajtów
Wypróbuj online!
Powyższy link zawiera większość przypadków testowych, ale nie byłem w stanie wprowadzić drugiego, aby ostatni jako ciąg, ponieważ zawiera zarówno pojedyncze, jak i podwójne cudzysłowy. Tutaj przypadek testowy, wprowadzony zamiast tego jako tablica znaków.
Wyjaśnienie:
źródło
Python 2 ,
138132 bajtówWypróbuj online!
Właściwie krótszy z nazwaną funkcją niż z lambda!
wersja lambda, 138 bajtów
Wypróbuj online!
131125 jeśli wolno nam zwrócić tablicę znaków i miećjoin
poza funkcją.Wypróbuj online!
źródło
a
ib
zmienne globalnePHP , 100 bajtów
Kod
Wypróbuj online!
Wyjaśnienie
źródło
Pyth, 35 bajtów
Spróbuj!
Prawdopodobnie mógłbym użyć lewej mapy lub czegoś, aby pozbyć się dwóch liter, ale nie wiedziałem, jak to zrobić.
źródło
Java, 211 bajtów
Wypróbuj online!
źródło
Pyth, 34 znaki
Wypróbuj online!
Ciąg jest skompresowaną wersją „typetjkitkpstokrtyputjkyb” . Z jakiegoś powodu nie mogę zmusić Pytha do kompresji „atypetjkitkpstokrtyputjkyb” za pomocą funkcji
nawet jeśli prawdopodobnie zaoszczędziłby bajt lub dwa, ponieważ dwa t mogą zostać wyeliminowane.źródło
Tcl , 114 bajtów
Wypróbuj online!
źródło
Lua , 153 bajty
Wypróbuj online!
źródło