Les Corpus sont une faction fictive du populaire jeu vidéo Warframe qui a un langage quelque peu intéressant.
Alors que d'autres factions du jeu telles que Grineer ont une certaine logique derrière leur langue, le Corpus est simplement une substitution à perte de la langue anglaise.
Tous les mots du corpus sont les mêmes que leurs homologues anglais, sauf avec les correspondances alphabétiques suivantes:
Cela provoque des problèmes de prononciation comme:
yes
devient yey
say
devient yay
yay
devient yay
sassy
devient yayyy
case
devientyaye
Voici une version texte des mappages:
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
Le défi
Étant donné le texte utilisant l'alphabet anglais, sortez sa traduction Corpus.
Par exemple, le texte Hello, World!
devient Keppo, Jotpp!
Corpus
Les règles
- L'entrée se composera uniquement de caractères imprimables ASCII
- Le texte d'entrée peut contenir des espaces et des signes de ponctuation, ceux-ci doivent être préservés
- La capitalisation des lettres doit être préservée
- C'est du code-golf donc naturellement, le moins d'octets gagne!
Les Testcases
Les cas de test sont séparés par <===========>
, avec une ligne vierge entre l'entrée et la sortie attendue
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.
Le bonus
Si vous incluez également un enregistrement audio (ou vidéo avec audio) de vous prononçant chacune des traductions du Corpus du testcase, vous pouvez multiplier votre bytecount par 1
en récompense.
la source
x * 1 == x
). C'est un coup de langue à l'imprononçabilité de nombreuses traductionsRéponses:
Bash + coreutils, 46
Essayez-le en ligne!
la source
05AB1E , 24 octets
Explication:
Essayez-le en ligne!
la source
Fusain , 42 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
la source
T-SQL, 107 octets
Le saut de ligne et le retrait sont uniquement pour la lisibilité.
Utilise la fonction SQL 2017
TRANSLATE
pour le remplacement de caractères.Malheureusement, il a dû y mettre (presque) tout l'alphabet deux fois pour maintenir le boîtier. Il y a probablement de meilleures façons, peut-être quelque chose qui gère les t en tant que groupe, mais cela a fonctionné pour moi.
Entrée se fait par une table pré-existante t avec la colonne varchar v , selon nos règles IO .
Dans ce cas, la table doit être créée à l'aide d'un classement sensible à la casse , soit en s'exécutant sur un serveur sensible à la casse, soit en utilisant le
COLLATE
mot clé (non compté dans le total des caractères):la source
JavaScript (Node.js) , 100 octets
Essayez-le en ligne!
la source
R , 79 octets
Essayez-le en ligne!
Seulement 3 octets de moins que de taper littéralement des chaînes de remplacement minuscules et majuscules ensemble ...
R , 79 octets
Essayez-le en ligne!
Code plus sophistiqué, même nombre d'octets.
la source
Perl 5
-p
, 54 octetsEssayez-le en ligne!
la source
Rubis , 55 octets
Essayez-le en ligne!
la source
J ,
7861 octets-17 octets grâce à FrownyFrog!
Essayez-le en ligne!
la source
C # (Visual C # Interactive Compiler) ,
15183 octetsEssayez-le en ligne!
68 octets sauvés grâce à Pietu1998!
la source
Select
s et en utilisant des opérateurs au niveau du bit pour la casse.K (ngn / k) ,
8763616059 octetsEssayez-le en ligne!
{
}
fonction avec argumentx
_
en minusculesa:
affecter àa
!128
la liste0 1 2 ... 127
@[!128;
les;:;
valeurs des indices le]
modifient en remplaçant les éléments des indices par les valeurs données98+!25
la liste98 99 100 ... 122
qui sont les codes ascii pour"bcd
...z"
la juxtaposition est l'indexation, nous utilisons donc
a
(convertis implicitement en entiers) comme indices dans la liste modifiéex-a-
soustraire dea
, puis soustraire la formex
; cela restaure les majuscules / minuscules comme dans la chaîne d'origine`c$
convertir en caractèresla source
Rétine 0.8.2 , 59 octets
Essayez-le en ligne!Le lien inclut des cas de test. Explication:
Préfixez un caractère non ASCII à chaque lettre. (J'ai essayé d'utiliser un espace insécable mais Firefox peut l'avoir changé en un espace normal après avoir copié et collé.)
Majuscules toutes les lettres.
Convertissez les lettres en Corpus.
Minuscule les lettres après le caractère non ASCII et supprimez le caractère non ASCII.
La solution naïve est de 63 octets:
Essayez-le en ligne! Le lien inclut des cas de test.
la source
Python 2 , 115 octets
Essayez-le en ligne!
Adapté de la réponse de @ ElPedro. Cela génère le remplacement de chaque caractère ascii du tableau
a
, puis utilisestr.translate
.Peut être porté à 113 octets si le retour d'un tableau de caractères est acceptable:
Essayez-le en ligne!
la source
Gelée , 29 octets
Essayez-le en ligne!
la source
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
économise 4. (Impossible de se débarrasser de «y» avecØY
car il est à droite de la carte)Japt , 37 octets
Essayez-le en ligne!
Le lien ci-dessus inclut la plupart des cas de test, mais je n'ai pas pu saisir l'avant-dernier sous forme de chaîne car il contient des guillemets simples et doubles. Voici ce cas de test, entré à la place sous forme de tableau de caractères.
Explication:
la source
Python 2 ,
138132 octetsEssayez-le en ligne!
En fait plus court avec une fonction nommée qu'avec un lambda!
version lambda, 138 octets
Essayez-le en ligne!
131125 si nous sommes autorisés à retourner un tableau de caractères et à l'join
extérieur de la fonction.Essayez-le en ligne!
la source
a
et lesb
variables globalesPHP , 100 octets
Code
Essayez-le en ligne!
Explication
la source
Pyth, 35 octets
Essayez!
Pourrait probablement utiliser la carte de gauche ou quelque chose pour se débarrasser des deux d, mais je n'ai pas pu comprendre comment.
la source
Java, 211 octets
Essayez-le en ligne!
la source
Pyth, 34 caractères
Essayez-le en ligne!
La chaîne est une version compressée de "typetjkitkpstokrtyputjkyb" . Pour une raison quelconque, je ne parviens pas à faire compresser Pyth "atypetjkitkpstokrtyputjkyb" avec la fonction
même si cela économiserait probablement un octet ou deux car les deux t pourraient être éliminés.la source
Tcl , 114 octets
Essayez-le en ligne!
la source
Lua , 153 octets
Essayez-le en ligne!
la source