Соглашения об именах для игр серии Super Mario очень странные и не совпадают между регионами.
| Japanese Name | American Name |
|---------------------|------------------------------------|
| Super Mario Bros. | Super Mario Bros. |
| Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels |
| Super Mario USA | Super Mario Bros. 2 |
| Super Mario Bros. 3 | Super Mario Bros. 3 |
| Super Mario Bros. 4 | Super Mario World |
Какой беспорядок!
Вызов:
Учитывая строку, состоящую из японского названия игры Super Mario, выведите соответствующее американское имя. Вы можете ввести японскую строку любым разумным способом и вывести американскую строку (с необязательным переводом строки) любым разумным способом.
Вы должны использовать точные строки, показанные выше. Стандартные лазейки запрещены!
Самый короткий код (в байтах) является победителем.
code-golf
string
kolmogorov-complexity
game
Джулиан Лахниет
источник
источник
Ответы:
Сед, 52
Простая замена:
Попробуйте онлайн .
источник
s/B.*4/World/
.Сетчатка, 43
Прямой порт моего седа ответ :
Попробуйте онлайн .
источник
B.*4
вместо\S* 4
.JavaScript (ES6),
8281 байтПопробуйте онлайн!
Как?
Есть три шаблона для поиска и замены. Мы ищем их всех сразу и используем позициюя совпадения, чтобы вывести строку подстановки.
источник
PHP, 81 байт
Попробуйте онлайн!
источник
JavaScript (ES6), 84 байта
Показать фрагмент кода
источник
[r='replace']
трюк.[]
работу как функцию?object.property
илиobject['property']
. 2) Метод объекта - это свойство, которому назначена функция. 3) Под капотом JS кратко превращает примитивный тип, такой как строка, в объект, когда для него используется синтаксис доступа к свойству . Вывод: комбинируя все вышеперечисленное, мы можем понять, почемуs['replace']()
именно то, что написано на банке.Python 2 ,
9692 байтаПопробуйте онлайн!
источник
Japt , 48 байт
Попробуйте онлайн!
Объяснение:
Japt использует библиотеку shoco для сжатия строк. Обратные галочки используются для распаковки строк.
источник
R 86 байт
источник
Желе ,
4443 байтаПолная программа, которая печатает результат.
Попробуйте онлайн!
Как?
источник
Mathematica, 80 байт
Анонимная функция. Принимает строку в качестве ввода и возвращает строку в качестве вывода.
источник
Python 3: 111 байт
Получает пользовательский ввод, запускает серию подстановок на основе регулярных выражений и печатает результат.
источник
from re import*
вместоfrom re import sub as r
. Тогда вторая строка станет:print(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))
Go , 134 байта
Попробуйте онлайн!
Поскольку Go не поддерживает значения по умолчанию для аргументов, вам придется
1
каждый раз вручную передавать .источник
Партия,
23799 байтПредполагая, что ввод в точном формате в вопросе
источник
Паскаль (FPC) ,
184182 байтаПопробуйте онлайн!
Объяснение:
z
это массив, который содержит 5 возможных выходных данных, нам просто нужно найти способ индексации в нем. Я заметил 2 параметра, которые можно использовать для различения ввода. Первая часть - длина ввода:Только 3 входы имеют такую же длину , мода 5. Вторая часть является то , что, в положении 19 на входах,
2
,3
и4
имеют последовательные кодовые точки, так что они легко могут быть использованы , чтобы заполнить остальную часть индексов , а остальные входы 2 короче.В
String
умолчанию типа кShortString
и по умолчанию имеет потенциал для 255 символов, все инициализирована нулями, поэтому безопасно использоватьt[19]
на всех строках и ее элемент кода является 0 для коротких строк, ничего для индексации не меняется, поэтому индексы более короткие струны являются 0 и 2. Поэтому нам нужны индексы 1, 3 и 4 из2
,3
и4
.источник
05AB1E , 37 байт
Попробуйте онлайн или проверьте все контрольные примеры.
Объяснение:
Смотрите это для получения дополнительной информации , почему
“:€€‹×Œä“
это": the lower levels"
;'„À
есть"usa"
; и'‚ï
есть"world"
.источник