Учитывая ввод программы, написанной в oOo CODE , выведите код BF, который он представляет.
Вот краткое описание того, как работает oOo CODE:
Сначала удаляются все не алфавитные символы (все, что не в диапазоне
A-Za-z
).Например, возьмите программу
PROgRam reVERsES giVeN iNPut sEqUENcE
(пример, приведенный на вики-странице esolangs, который делает именно то, что вы ожидаете). После этого первого шага мы теперь имеемPROgRamreVERsESgiVeNiNPutsEqUENcE
.Далее, разделите все оставшиеся символы на группы по 3. Теперь мы имеем
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. Если есть конечная группа из 1 или 2 символов, откажитесь от нее.Преобразуйте каждую группу из 3 букв в команду BF на основе следующей таблицы:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
То есть, если первая буква группы в нижнем регистре, вторая в верхнем регистре, а третья в нижнем регистре, она будет преобразована в команду
[
.В нашем примере это, наконец, программа BF
,[>,]<[.<]+
, которая действительно меняет свой ввод.
Поскольку это код-гольф , победит самый короткий код в байтах.
Тестовые случаи:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+