Tor
Dies ist eine einfache Herausforderung. Ihr Ziel ist es, eine Zeichenfolge zu entschlüsseln, indem Sie jeden Buchstaben mit dem nächsten Buchstaben derselben Groß- / Kleinschreibung vertauschen, während Sie Nicht-Buchstaben-Zeichen unverändert lassen.
Schritt für Schritt Erklärung
Das erste Zeichen ist a
E
. Wir suchen nach dem nächsten Buchstaben in Großbuchstaben: aC
. Wir tauschen diese Zeichen aus, was zu führtCdoE!
.Wir rücken zum nächsten Zeichen vor: Dies ist ein
d
. Wir suchen den nächsten Buchstaben in Kleinbuchstaben: ao
. Wir tauschen diese Zeichen aus, was zu führtCodE!
.Wir rücken zum nächsten Charakter vor: Dies ist der
d
, den wir gerade hierher gezogen sind. Wir ignorieren es, weil es bereits verarbeitet wurde.Wir gehen zum nächsten Zeichen über: Dies ist das Zeichen
E
, das hier in Schritt 1 verschoben wurde. Wir ignorieren es, weil es bereits verarbeitet wurde.Wir rücken zum nächsten Zeichen vor: Dies ist ein
!
. Wir ignorieren es, weil es kein Brief ist.
Regeln
Sie können davon ausgehen, dass die Eingabezeichenfolge ausschließlich aus druckbaren ASCII-Zeichen im Bereich von 32 bis 126 besteht.
Sie können entweder ein vollständiges Programm oder eine Funktion schreiben, die das Ergebnis entweder ausgibt oder zurückgibt.
Wenn die Eingabezeichenfolge eine ungerade Anzahl von Buchstaben enthält, kann der letzte verbleibende Buchstabe nicht mit einem anderen ausgetauscht werden und sollte an Ort und Stelle bleiben, unabhängig von der jeweiligen Schreibweise. Dieselbe Logik gilt, wenn die Zeichenfolge eine gerade Anzahl von Buchstaben enthält, jedoch eine ungerade Anzahl von Großbuchstaben und eine ungerade Anzahl von Kleinbuchstaben.
Das ist Code-Golf, also gewinnt die kürzeste Antwort in Bytes. Standardlücken sind verboten.
Testfälle
Input : lLEhW OroLd!
Output: hELlO WorLd!
Input : rpGOZmaimgn uplRzse naC DEoO LdGf
Output: prOGRamming puzZles anD COdE GoLf
Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg
Output: tHe quICK BROWN fOx juMPS OvER THE LAzy dOg
Input : NraWgCi: Nsas-eNEiTIsev rNsiTG!!
Output: WarNiNg: Case-sENsITive sTriNG!!
Nicht so zufällige Testfälle:
Input : (^_^)
Output: (^_^)
Input : AWCTY HUOS RETP
Output: WATCH YOUR STEP
Input : hwn oeesd acsp nawyya
Output: who needs caps anyway
Input : SpMycaeIesKyBorekn
Output: MySpaceKeyIsBroken
Input : D's mroyr, Ivam. I'e faardi I act'n od htta.
Output: I'm sorry, Dave. I'm afraid I can't do that.