- 21, Oct 2024
- #1
Геобицкий язык — это новое извращение английского языка, при котором слово разбивается на сегменты, каждый из которых должен начинаться с отдельной буквы. Затем каждый раз, когда одна из этих начальных букв появляется в другой строке, она заменяется всем соответствующим сегментом, сохраняя заглавные буквы.
Этот процесс называется Геобитсайзинг.
Например, слово «Геобиты"можно разбить на
, and the nonsense poeming pro m no am gr
Proet am Prouproproy
Groogrle Wingkingproedingam
будет геобитизирован с ним как
Pet a Puppy
Google Wikipedia
потому что каждый Proeoprole thingnok bamnoamnoams amre grreamt, dono't you?
becomes People think bananas are great, don't you?
, каждый Mmmm, mmm... MmmmMMM: m&m!
(though there are none) becomes Mmmm, mmm... MmmmMMM: m&m!
, каждый Ing
becomes I
и каждый ing
becomes i
.
Обратите внимание, что каждая замена выполняется относительно исходной строки, а не какого-либо промежуточного шага. например если [empty string]
had been [empty string]
вместо этого, no pro gr am m ing
's created would not replaced with do o r k n ob
.
Испытание
Напишите программу или функцию, которая может генерировать язык Geobitsian.
Возьмите однострочную строку, состоящую из строчных букв (a-z) и пробелов. Это слово будет использоваться в качестве аргумента Geobitsizing, с пробелами, разделяющими сегменты. Вы можете предположить:
- Сегменты не будут пустыми. Таким образом, пробелы не будут соседствовать друг с другом и находиться в начале или конце строки.
- Каждый сегмент начинается с отдельной буквы. Таким образом, их не может быть больше 26.
Например, некоторые допустимые сегментированные строки, которые вы должны поддерживать: Alex
, butt ner
, geo
, and do o r k nob
(однобуквенные сегменты не имеют никакого эффекта, но действительны). Но alex
, butt ner
, geo bits
, and bits
являются недействительными.
Ваша программа или функция также должна принять другую произвольную строку, чтобы применить к ней Geobitsizing, и распечатать или вернуть полученный Geobitsian язык.
Вы можете предположить, что эта строка содержит только символы новой строки и печатный ASCII.
Помните, что регистр букв должен сохраняться от входа до выхода.
Вот еще несколько примеров использования b
as the Geobitsizing argument:
gbo
→ geo
Bits
→ B
bits
→ b
Geo
→ G
(без изменений)
geo
→ g
Algeoy met a Bitsear
A Bitsear met Algeoy
The Bitsear was bitsulgeoy
The bitsulgeoe was Algeoy
↓
Algy met a Bear
A Bear met Algy
The Bear was bulgy
The bulge was Algy
Обратите внимание, что результаты должны быть идентичными независимо от того, как устроен аргумент, например. geo bits
should yield the same results as above.
Выигрывает самый короткий код в байтах.
#код-гольф #строка