The Corpus adalah faksi fiksi dari Warframe video game populer yang memiliki bahasa yang agak menarik.
Sementara faksi lain dalam permainan seperti Grineer memiliki beberapa logika di balik bahasa mereka, Corpus hanyalah pengganti yang hilang dari bahasa Inggris.
Semua kata Corpus sama dengan rekan bahasa Inggris mereka, kecuali dengan pemetaan alfabet berikut:
Ini menyebabkan beberapa masalah dengan pengucapan sebagai:
yes
menjadi yey
say
menjadi yay
yay
menjadi yay
sassy
menjadi yayyy
case
menjadiyaye
Berikut ini adalah versi teks dari pemetaan:
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
Tantangan
Teks yang diberikan menggunakan alfabet Inggris, menampilkan terjemahan Corpus-nya.
Misalnya, teks Hello, World!
menjadi Keppo, Jotpp!
di Corpus
Aturan
- Input hanya akan terdiri dari karakter yang dapat dicetak ASCII
- Input teks dapat berisi spasi dan tanda baca, ini harus dipertahankan
- Kapitalisasi huruf harus dipertahankan
- Ini adalah kode-golf sehingga secara alami, byte paling sedikit menang!
Testcases
Kasing uji dipisahkan dengan <===========>
, dengan garis kosong antara input dan output yang diharapkan
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
Jika Anda juga menyertakan rekaman audio (atau video dengan audio) yang Anda ucapkan masing-masing terjemahan Corpus testcase, Anda dapat melipatgandakan bytecount Anda dengan 1
sebagai hadiah.
sumber
x * 1 == x
). Ini menyodok lidah pada ketidakterbukaan banyak terjemahanJawaban:
Bash + coreutils, 46
Cobalah online!
sumber
05AB1E , 24 bytes
Penjelasan:
Cobalah online!
sumber
Arang , 42 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
sumber
T-SQL, 107 Bytes
Istirahat baris dan indentasi hanya untuk keterbacaan.
Menggunakan fungsi SQL 2017
TRANSLATE
untuk penggantian karakter.Sayangnya harus meletakkan (hampir) seluruh alfabet di sana dua kali untuk menjaga casing. Mungkin ada cara yang lebih baik, mungkin sesuatu yang menangani t sebagai sebuah kelompok, tetapi ini berhasil bagi saya.
Input adalah melalui tabel t yang sudah ada sebelumnya dengan kolom varchar v , sesuai aturan IO kami .
Dalam hal ini tabel harus dibuat menggunakan susunan case-sensitive , baik dengan menjalankan pada server case-sensitive, atau dengan menggunakan
COLLATE
kata kunci (tidak dihitung terhadap total karakter):sumber
JavaScript (Node.js) , 100 byte
Cobalah online!
sumber
R , 79 byte
Cobalah online!
Hanya 3 byte lebih pendek daripada mengetik string string bawah dan huruf besar secara bersamaan ...
R , 79 byte
Cobalah online!
Kode yang lebih menarik, jumlah byte yang sama.
sumber
Perl 5
-p
, 54 byteCobalah online!
sumber
Ruby , 55 byte
Cobalah online!
sumber
J ,
7861 byte-17 byte terima kasih kepada FrownyFrog!
Cobalah online!
sumber
C # (Visual C # Interactive Compiler) ,
15183 byteCobalah online!
Menyimpan 68 byte kekalahan berkat Pietu1998!
sumber
Select
s dan menggunakan operator bitwise untuk casing.K (ngn / k) ,
8763616059 byteCobalah online!
{
}
berfungsi dengan argumenx
_
ke huruf kecila:
menetapkan kea
!128
Daftar0 1 2 ... 127
@[!128;
indeks yang;:;
nilai]
mengubahnya dengan mengganti elemen di indeks dengan diberikan nilai-nilai98+!25
daftar98 99 100 ... 122
yang merupakan kode ascii untuk"bcd
...z"
penjajaran adalah pengindeksan, jadi kami menggunakan
a
(secara implisit dikonversi ke bilangan bulat) sebagai indeks dalam daftar yang diamandemenx-a-
kurangi daria
, lalu kurangi bentukx
; ini mengembalikan huruf besar / kecil seperti pada string asli`c$
konversi ke karaktersumber
Retina 0.8.2 , 59 byte
Cobalah online! Tautan termasuk kasus uji. Penjelasan:
Awali karakter non-ASCII untuk setiap huruf. (Saya mencoba menggunakan ruang yang tidak melanggar tetapi Firefox mungkin telah mengubahnya kembali ke ruang biasa setelah menyalin dan menempel.)
Huruf besar semua huruf.
Ubah huruf menjadi Corpus.
Huruf kecil setelah karakter non-ASCII dan hapus karakter non-ASCII.
Solusi naïve adalah 63 byte:
Cobalah online! Tautan termasuk kasus uji.
sumber
Python 2 , 115 byte
Cobalah online!
Diadaptasi dari jawaban @ ElPedro. Ini menghasilkan penggantian untuk setiap karakter ascii dalam array
a
dan kemudian menggunakanstr.translate
.Dapat dibawa ke 113 byte jika mengembalikan array karakter dapat diterima:
Cobalah online!
sumber
Jelly , 29 byte
Cobalah online!
sumber
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
simpanlah 4. (Tidak bisa menghilangkan 'y' denganØY
karena berada di kanan peta)Japt , 37 byte
Cobalah online!
Tautan di atas mencakup sebagian besar kasus uji, tetapi saya belum dapat memasukkan yang kedua hingga terakhir sebagai string karena berisi tanda kutip tunggal dan ganda. Inilah kasus uji, masukan sebagai array karakter sebagai gantinya.
Penjelasan:
sumber
Python 2 ,
138132 byteCobalah online!
Sebenarnya lebih pendek dengan fungsi bernama daripada dengan lambda!
versi lambda, 138 byte
Cobalah online!
131125 jika kita diizinkan mengembalikan array karakter dan memilikijoin
fungsi di luar.Cobalah online!
sumber
a
danb
variabel globalPHP , 100 byte
Kode
Cobalah online!
Penjelasan
sumber
Pyth, 35 Bytes
Cobalah!
Mungkin bisa menggunakan peta Kiri atau sesuatu untuk menyingkirkan dua d's, tapi aku tidak tahu caranya.
sumber
Java, 211 Bytes
Cobalah online!
sumber
Pyth, 34 karakter
Cobalah online!
String adalah versi terkompresi dari "typetjkitkpstokrtyputjkyb" . Untuk beberapa alasan saya tidak bisa mendapatkan Pyth untuk mengompresi "atypetjkitkpstokrtyputjkyb" dengan fungsi
meskipun mungkin akan menghemat satu atau dua byte karena dua t itu bisa dihilangkan.sumber
Tcl , 114 byte
Cobalah online!
sumber
Lua , 153 byte
Cobalah online!
sumber