Ваша задача - расшифровать непустую строку, состоящую из печатных символов ASCII в диапазоне [32..126] .
Чтение строкового символа на символ:
- каждый раз, когда вы встречаете букву в нижнем регистре, ассоциируйте ее со следующей буквой в верхнем регистре, начиная с буквы «А»
- каждый раз, когда вы встречаете букву в верхнем регистре, заменяйте ее буквой в нижнем регистре, с которой она связана
- другие символы не требуют специальной обработки и просто остаются без изменений
пример
Для входной строки "endlAsEBAEE"
:
- Ассоциированный
e
сA
,n
кB
,d
кC
иl
кD
- Заменить
A
наe
- Ассоциировать
s
сE
- Заменить
EBAEE
наsness
Окончательный результат есть "endlessness"
.
Разъяснения и правила
- Входная строка гарантированно содержит каждую строчную букву не более одного раза. Все последующие экземпляры будут заменены соответствующей заглавной буквой.
- Входная строка гарантированно будет действительной. (Вы не встретите заглавную букву, которая еще не связана со строчной буквой.)
- После того, как заглавная буква связана с строчной буквой, она может или не может быть использована позже в строке. Например,
C
иD
не используются в приведенном выше примере. - Это код-гольф , поэтому выигрывает самый короткий ответ в байтах!
Контрольные примеры
Входы:
abcd
honk! ABCD!
abrAcAdABCA
endlAsEBAEE
helCo wDrCd!
dermatoglyphics
progBamFinD AuzJles & cCdL DCKf
sphinx of black quKrtz, jOdge my vGw. K NODLM IPGZE HGF SOWBA GYVP QCV JKRX TGU.
petBr AiABD AEckBd a ABFG of AEFGlBH ABAABDs. hJw mIny AEFGLBH ABAABDM HEH ABCBD AEABD AEFG?
ответы:
abcd
honk! honk!
abracadabra
endlessness
hello world!
dermatoglyphics
programming puzzles & code golf
sphinx of black quartz, judge my vow. a quick brown fox jumps over the lazy dog.
peter piper picked a peck of pickled peppers. how many pickled peppers did peter piper pick?
Ответы:
Желе ,
87 байтПопробуйте онлайн!
Как это устроено
источник
05AB1E , 6 байтов
Код:
Использует кодировку 05AB1E . Попробуйте онлайн!
источник
ʒ.l}Aus‡
.JavaScript (ES6), 62 байта
Каждая заглавная буква конвертируется в свое базовое значение 36, меньше 10.
Затем мы сопоставляем строчную букву с этим индексом.
Показать фрагмент кода
источник
Pyth, 36 байт
Попробуй здесь
объяснение
источник
Stax , 11 байт
Запустите и отладьте его
источник
R , 79 байт
Попробуйте онлайн!
источник
scan(,""
чтобы сделать его полной программой вместо функции, кроме того, я изо всех силPerl 5 с
-p
, 27 байтовПопробуйте онлайн!
-2 байта благодаря @breadbox !
источник
s///gr
сy///cdr
.Z80Golf , 37 байт
Попробуйте онлайн!
Z80 довольно хорош в этом! Вот разборка:
Мы указываем и HL, и BC на
$ff00
диапазон сdec
, и используем егоrst $38
в качестве короткой альтернативыcall $8000
, но в остальном не так много хитростей.источник
Сетчатка , 25 байт
Попробуйте онлайн! Объяснение:
Подбирайте строчные буквы.
Замените каждую букву вырожденным диапазоном себя. (Это препятствует тому, чтобы поздняя транслитерация рассматривала его как символьный класс; обратную косую черту нельзя использовать, потому что некоторые строчные буквы имеют особое значение после обратной косой черты.)
Перечислите вырожденные диапазоны, но без разделителей строк и с предшествующим
T`L`
.Оцените полученную программу транслитерации на исходном входе.
источник
Python 2 , 78 байт
Попробуйте онлайн!
источник
Java (JDK 10) , 109 байт
Попробуйте онлайн!
источник
C (gcc) , 105 байт
Попробуйте онлайн!
источник
Желе , 11 байт
Попробуйте онлайн!
источник
Pyth , 7 байт
Вилка Дениса блестящий желе ответ
Все тесты.
источник