Geben Sie bei einer Eingabe eines in oOo CODE geschriebenen Programms den BF-Code aus, den es darstellt.
Hier ist eine kurze Beschreibung der Funktionsweise von oOo CODE:
Zunächst werden alle nicht alphabetischen Zeichen entfernt (alles, was nicht im Bereich liegt
A-Za-z
).Nehmen Sie zum Beispiel das Programm
PROgRam reVERsES giVeN iNPut sEqUENcE
(ein Beispiel auf der Wiki-Seite von esolangs, das genau das tut, was Sie erwarten). Nach diesem ersten Schritt haben wir jetztPROgRamreVERsESgiVeNiNPutsEqUENcE
.Teilen Sie als nächstes alle verbleibenden Zeichen in Gruppen von 3 auf. Wir haben jetzt
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. Wenn es eine nachgestellte Gruppe von 1 oder 2 Zeichen gibt, verwerfen Sie sie.Konvertieren Sie jede Gruppe von 3 Buchstaben in einen BF-Befehl basierend auf der folgenden Tabelle:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
Das heißt, wenn der erste Buchstabe einer Gruppe in Kleinbuchstaben geschrieben ist, der zweite in Großbuchstaben und der dritte in Kleinbuchstaben, wird dies in den Befehl übersetzt
[
.In unserem Beispiel wird dies schließlich zum BF-Programm
,[>,]<[.<]+
, das seine Eingabe in der Tat umkehrt.
Da es sich um Code-Golf , wird der kürzeste Code in Bytes gewinnen.
Testfälle:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+