Ihre Aufgabe ist es, eine nicht leere Zeichenfolge zu entschlüsseln, die aus druckbaren ASCII-Zeichen im Bereich [32..126] besteht .
Zeichenfolge pro Zeichen lesen:
- Jedes Mal, wenn Sie auf einen Buchstaben in Kleinbuchstaben stoßen, verknüpfen Sie ihn mit dem nächsten Buchstaben in Großbuchstaben, beginnend mit 'A'.
- Jedes Mal, wenn Sie auf einen Buchstaben in Großbuchstaben stoßen, ersetzen Sie ihn durch den Buchstaben in Kleinbuchstaben, mit dem er verknüpft ist
- andere Zeichen erfordern keine besondere Verarbeitung und bleiben unverändert
Beispiel
Für die Eingabezeichenfolge "endlAsEBAEE"
:
- Assoziiere
e
zuA
,n
zuB
,d
zuC
undl
zuD
- Ersetzen
A
durche
- Assoziiere
s
zuE
- Ersetzen
EBAEE
durchsness
Die endgültige Ausgabe ist "endlessness"
.
Erläuterungen und Regeln
- Die Eingabezeichenfolge darf garantiert höchstens einmal jeden Kleinbuchstaben enthalten. Alle weiteren Instanzen werden durch den entsprechenden Großbuchstaben ersetzt.
- Die Eingabezeichenfolge ist garantiert gültig. (Sie werden keinen Großbuchstaben finden, der noch keinem Kleinbuchstaben zugeordnet ist.)
- Sobald ein Großbuchstabe einem Kleinbuchstaben zugeordnet wurde, kann er später in der Zeichenfolge verwendet werden oder nicht. Zum Beispiel
C
undD
werden im obigen Beispiel nicht verwendet. - Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes!
Testfälle
Eingänge:
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?
Antworten:
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?
Antworten:
Gelee ,
87 BytesProbieren Sie es online!
Wie es funktioniert
quelle
05AB1E , 6 Bytes
Code:
Verwendet die 05AB1E- Codierung. Probieren Sie es online!
quelle
ʒ.l}Aus‡
.JavaScript (ES6), 62 Byte
Jeder Großbuchstabe wird in seinen Basiswert 36 minus 10 umgewandelt.
Wir stimmen dann mit dem Kleinbuchstaben überein, der sich an diesem Index befindet.
Code-Snippet anzeigen
quelle
Pyth, 36 Bytes
Probieren Sie es hier aus
Erläuterung
quelle
Stax , 11 Bytes
Führen Sie es aus und debuggen Sie es
quelle
R , 79 Bytes
Probieren Sie es online!
quelle
scan(,""
es zu einem vollständigen Programm anstatt einer Funktion machen.Perl 5 mit
-p
27 BytesProbieren Sie es online!
-2 Bytes dank @breadbox !
quelle
s///gr
mity///cdr
.Z80Golf , 37 Bytes
Probieren Sie es online!
Z80 macht das ziemlich gut! Hier ist eine Demontage:
Wir weisen sowohl HL als auch BC auf den
$ff00
Bereich mitdec
und verwenden ihnrst $38
als kurze Alternative zucall $8000
, aber ansonsten gibt es nicht viel Trick.quelle
Retina , 25 Bytes
Probieren Sie es online!Erläuterung:
Match Kleinbuchstaben.
Ersetzen Sie jeden Buchstaben durch einen entarteten Bereich. (Dies verhindert, dass die spätere Transliteration sie als Zeichenklasse behandelt. Backslash kann nicht verwendet werden, da einige Kleinbuchstaben nach einem Backslash eine besondere Bedeutung haben.)
Listen Sie die entarteten Bereiche auf, jedoch ohne Zeilentrennzeichen und mit vorangestelltem
T`L`
.Bewerten Sie das resultierende Transliterationsprogramm für die ursprüngliche Eingabe.
quelle
Python 2 , 78 Bytes
Probieren Sie es online!
quelle
Java (JDK 10) , 109 Byte
Probieren Sie es online!
quelle
C (gcc) , 105 Bytes
Probieren Sie es online!
quelle
Jelly , 11 Bytes
Probieren Sie es online!
quelle
Pyth , 7 Bytes
Die Gabel von Dennis 'brillanter Gelee-Antwort
Alle Testfälle.
quelle