В Corpus является вымышленной фракцией из популярной видеоигры Warframe , которые имеют несколько интересный язык.
В то время как у других фракций в игре, таких как Grineer, есть некоторая логика за их языком, Корпус - просто замена английского языка с потерями.
Все слова в корпусе такие же, как их английские аналоги, за исключением следующих алфавитных сопоставлений:
Это вызывает некоторые проблемы с произношением, как:
yes
становится yey
say
становится yay
yay
становится yay
sassy
становится yayyy
case
становитсяyaye
Вот текстовая версия сопоставлений:
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
Соревнование
Задав текст с использованием английского алфавита, выведите его корпусный перевод.
Например, текст Hello, World!
становитсяKeppo, Jotpp!
в корпусе
Правила
- Ввод будет состоять только из печатных символов ASCII
- Входной текст может содержать пробелы и знаки препинания, они должны быть сохранены
- Заглавные буквы должны быть сохранены
- Это код-гольф, поэтому, естественно, выигрывает меньше байтов!
Тестовые случаи
Тестовые случаи разделяются <===========>
, с пустой строкой между вводом и ожидаемым выводом
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.
Бонус
Если вы также включите аудиозапись (или видео со звуком), когда вы произносите каждый из корпусов тестового набора, вы можете умножить свой счет 1
в качестве награды.
источник
x * 1 == x
). ЭтоОтветы:
Bash + coreutils, 46
Попробуйте онлайн!
источник
05AB1E , 24 байта
Объяснение:
Попробуйте онлайн!
источник
Древесный уголь , 42 байта
Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
источник
T-SQL, 107 байт
Разрыв строки и отступ предназначены только для удобства чтения.
Использует функцию SQL 2017
TRANSLATE
для замены символов.К сожалению, пришлось поместить (почти) весь алфавит туда дважды, чтобы сохранить корпус. Есть , вероятно , более эффективные способы, возможно , что - то , что обрабатывает т «S , как группа, но это работает для меня.
Ввод осуществляется с уже существующей таблицей т с колонками VARCHAR V , в соответствии с нашими правилами ввода - вывода .
В этом случае таблица должна быть создана с использованием сортировки с учетом регистра , либо путем запуска на чувствительном к регистру сервере, либо с использованием
COLLATE
ключевого слова (не учитывается в общем количестве символов):источник
JavaScript (Node.js) , 100 байт
Попробуйте онлайн!
источник
R , 79 байт
Попробуйте онлайн!
Всего на 3 байта короче, чем буквально набирая строчные и прописные строки вместе ...
R , 79 байт
Попробуйте онлайн!
Более интересный код с тем же количеством байтов.
источник
Perl 5
-p
, 54 байтаПопробуйте онлайн!
источник
Рубин , 55 байт
Попробуйте онлайн!
источник
J ,
7861 байт-17 байт благодаря FrownyFrog!
Попробуйте онлайн!
источник
C # (интерактивный компилятор Visual C #) ,
15183 байтаПопробуйте онлайн!
Благодаря Pietu1998 удалось сэкономить до 68 байтов!
источник
Select
s и используя побитовые операторы для ввода в регистр.K (нгн / к) ,
8763616059 байтПопробуйте онлайн!
{
}
функция с аргументомx
_
в нижнем регистреa:
назначить вa
!128
список0 1 2 ... 127
@[!128;
;:;
значения индексов]
изменяют его, заменяя элементы в индексах заданными значениями98+!25
список98 99 100 ... 122
кодов ascii для"bcd
...z"
сопоставление индексации, поэтому мы используем
a
(неявно преобразуются в целые числа) в качестве индексов в исправленном спискеx-a-
вычесть изa
, затем вычесть формуx
; восстанавливает верхний / нижний регистр как в исходной строке`c$
преобразовать в символыисточник
Сетчатка 0.8.2 , 59 байт
Попробуйте онлайн! Ссылка включает в себя тестовые случаи. Объяснение:
Префикс не-ASCII символа к каждой букве. (Я пытался использовать неразрывный пробел, но Firefox, возможно, изменил его обратно на обычный пробел после копирования и вставки.)
Прописные буквы.
Преобразовать письма в корпус.
Строчные буквы после не-ASCII-символа и удаление не-ASCII-символа.
Наивное решение составляет 63 байта:
Попробуйте онлайн! Ссылка включает в себя тестовые случаи.
источник
Python 2 , 115 байт
Попробуйте онлайн!
Адаптировано из ответа @ ElPedro. Это генерирует замену для каждого символа ascii в массиве
a
и затем используетstr.translate
.Может быть доведен до 113 байтов, если приемлем возврат массива символов:
Попробуйте онлайн!
источник
Желе , 29 байт
Попробуйте онлайн!
источник
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
сохраняет 4. (Не могу избавиться от 'y',ØY
так как он находится справа от карты)Japt , 37 байт
Попробуйте онлайн!
Приведенная выше ссылка включает в себя большинство тестовых случаев, но я не смог ввести второй и последний в виде строки, поскольку она содержит как одинарные, так и двойные кавычки. Вот этот тестовый пример, вместо этого вводите в виде массива символов.
Объяснение:
источник
Python 2 ,
138132 байтаПопробуйте онлайн!
На самом деле короче с именованной функцией, чем с лямбда!
лямбда-версия, 138 байт
Попробуйте онлайн!
131125, если нам разрешено возвращать массив символов и иметьjoin
вне функции.Попробуйте онлайн!
источник
a
иb
глобальные переменныеPHP , 100 байт
Код
Попробуйте онлайн!
объяснение
источник
Pyth, 35 Bytes
Попытайся!
Возможно, можно использовать левую карту или что-то, чтобы избавиться от двух д, но я не мог понять, как.
источник
Java, 211 байт
Попробуйте онлайн!
источник
Pyth, 34 символа
Попробуйте онлайн!
Строка является сжатой версией "typetjkitkpstokrtyputjkyb" . Почему-то я не могу заставить Pyth сжать "atypetjkitkpstokrtyputjkyb" с помощью функции
хотя это, вероятно, сохранит один или два байта, так как два т могут быть устранены.источник
Tcl , 114 байт
Попробуйте онлайн!
источник
Lua , 153 байта
Попробуйте онлайн!
источник