Los Corpus son una facción ficticia del popular videojuego Warframe que tienen un lenguaje algo interesante.
Mientras que otras facciones en el juego, como los Grineer, tienen cierta lógica detrás de su idioma, el Corpus es simplemente una sustitución con pérdidas del idioma inglés.
Todas las palabras de Corpus son las mismas que sus equivalentes en inglés, excepto con las siguientes asignaciones alfabéticas:
Esto causa algunos problemas con la pronunciación como:
yes
se yey
say
convierte yay
yay
se yay
sassy
convierte yayyy
case
se convierte se convierte enyaye
Aquí hay una versión de texto de las asignaciones:
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
El reto
Dado el texto que usa el alfabeto inglés, genera su traducción Corpus.
Por ejemplo, el texto se Hello, World!
convierte Keppo, Jotpp!
en Corpus
Las normas
- La entrada solo consistirá en caracteres imprimibles ASCII
- El texto de entrada puede contener espacios en blanco y puntuación, estos deben conservarse
- Se deben preservar las mayúsculas de las letras.
- Este es el código de golf, así que, naturalmente, ¡gana la menor cantidad de bytes!
Los casos de prueba
Los casos de prueba están separados por <===========>
, con una línea en blanco entre la entrada y la salida esperada
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.
El bono
Si también incluye una grabación de audio (o video con audio) de usted pronunciando cada una de las traducciones de Corpus del caso de prueba, puede multiplicar su bytecount por 1
una recompensa.
fuente
x * 1 == x
). Es un golpe la lengua en la mejilla en el unpronouncability de muchas de las traduccionesRespuestas:
Bash + coreutils, 46
Pruébalo en línea!
fuente
05AB1E , 24 bytes
Explicación:
Pruébalo en línea!
fuente
Carbón , 42 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
fuente
T-SQL, 107 bytes
El salto de línea y la sangría son solo para legibilidad.
Utiliza la función SQL 2017
TRANSLATE
para el reemplazo de caracteres.Desafortunadamente, tuve que poner (casi) todo el alfabeto allí dos veces para mantener la carcasa. Probablemente hay mejores formas, tal vez algo que maneje las t como grupo, pero esto funcionó para mí.
La entrada es a través de una tabla t existente con la columna varchar v , según nuestras reglas de IO .
En este caso, la tabla debe crearse usando una intercalación entre mayúsculas y minúsculas , ya sea ejecutándose en un servidor sensible a mayúsculas o minúsculas o usando la
COLLATE
palabra clave (sin contar para el total de caracteres):fuente
JavaScript (Node.js) , 100 bytes
Pruébalo en línea!
fuente
R , 79 bytes
Pruébalo en línea!
Solo 3 bytes más cortos que literalmente escribiendo cadenas de reemplazo en mayúsculas y minúsculas juntas ...
R , 79 bytes
Pruébalo en línea!
Código más elegante, mismo recuento de bytes.
fuente
Perl 5
-p
, 54 bytesPruébalo en línea!
fuente
Ruby , 55 bytes
Pruébalo en línea!
fuente
J ,
7861 bytes-17 bytes gracias a FrownyFrog!
Pruébalo en línea!
fuente
C # (compilador interactivo de Visual C #) ,
15183 bytesPruébalo en línea!
¡Ahorró la friolera de 68 bytes gracias a Pietu1998!
fuente
Select
sy utilizando operadores bit a bit para la carcasa.K (ngn / k) ,
8763616059 bytesPruébalo en línea!
{
}
funcionar con argumentox
_
en minúsculasa:
asignar aa
!128
la lista0 1 2 ... 127
@[!128;
los;:;
valores de los índices lo]
modifican reemplazando los elementos en los índices con los valores dados98+!25
la lista98 99 100 ... 122
que son los códigos ascii para"bcd
...z"
la yuxtaposición es indexación, por lo que usamos
a
(convertidos implícitamente a enteros) como índices en la lista modificadax-a-
restar dea
, luego restar formax
; esto restaura mayúsculas / minúsculas como en la cadena original`c$
convertir a personajesfuente
Retina 0.8.2 , 59 bytes
Pruébalo en línea! El enlace incluye casos de prueba. Explicación:
Prefije un carácter no ASCII a cada letra. (Intenté usar un espacio sin interrupciones, pero Firefox podría haberlo cambiado a un espacio normal después de copiar y pegar).
Todas las letras en mayúscula.
Convierte las letras a Corpus.
Las letras minúsculas después del carácter no ASCII y eliminan el carácter no ASCII.
La solución ingenua es de 63 bytes:
Pruébalo en línea! El enlace incluye casos de prueba.
fuente
Python 2 , 115 bytes
Pruébalo en línea!
Adaptado de la respuesta de @ ElPedro. Esto genera el reemplazo para cada carácter ascii en la matriz
a
y luego lo usastr.translate
.Se puede llevar a 113 bytes si es aceptable devolver una matriz de caracteres:
Pruébalo en línea!
fuente
Jalea , 29 bytes
Pruébalo en línea!
fuente
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
guarda 4. (No puedo deshacerme de 'y'ØY
ya que está a la derecha del mapa)Japt , 37 bytes
Pruébalo en línea!
El enlace anterior incluye la mayoría de los casos de prueba, pero no he podido ingresar el penúltimo como una cadena porque contiene comillas simples y dobles. Aquí está ese caso de prueba, ingrese como una matriz de caracteres en su lugar.
Explicación:
fuente
Python 2 ,
138132 bytesPruébalo en línea!
¡Realmente más corto con una función con nombre que con una lambda!
versión lambda, 138 bytes
Pruébalo en línea!
131125 si se nos permite devolver una matriz de caracteres y tenerjoin
fuera de la función.Pruébalo en línea!
fuente
a
yb
variables globalesPHP , 100 bytes
Código
Pruébalo en línea!
Explicación
fuente
Pyth, 35 Bytes
¡Intentalo!
Probablemente podría usar el mapa de la izquierda o algo para deshacerse de las dos d, pero no pude entender cómo.
fuente
Java, 211 bytes
Pruébalo en línea!
fuente
Pyth, 34 caracteres
Pruébalo en línea!
La cadena es una versión comprimida de "typetjkitkpstokrtyputjkyb" . Por alguna razón, no puedo hacer que Pyth comprima "atypetjkitkpstokrtyputjkyb" con la función
aunque probablemente ahorraría un byte o dos, ya que las dos t podrían eliminarse.fuente
Tcl , 114 bytes
Pruébalo en línea!
fuente
Lua , 153 bytes
Pruébalo en línea!
fuente