Hintergrund
Sie haben die Aufgabe erhalten, sich Notizen für ein Meeting zu machen. Sie beginnen mit der Eingabe in Ihrem Google Text & Tabellen-Dokument, haben jedoch nicht genügend Zeit, während des Meetings auf Ihre Tastatur zu schauen, während Sie tippen.
Glücklicherweise können Sie tippen, ohne auf Ihre Tastatur zu schauen. Nach dem Meeting stellen Sie fest, dass alles, was Sie eingegeben haben, eine Taste links war.
Die Herausforderung
Für diese Herausforderung verwenden Sie die Buchstaben, Zahlen und die Leertaste des QWERTZ-Tastaturlayouts.
Geben Sie bei einer Texteingabe (mit einer beliebigen Standardeingabemethode) den resultierenden Text aus, wobei jedes Zeichen auf der Tastatur um eins nach links verschoben wird.
Schauen Sie sich für die meisten Buchstaben einfach den Buchstaben an und übersetzen Sie ihn in den Buchstaben auf der linken Seite (
c
wirdx
,t
wirdr
usw.).Für Buchstaben
q
übersetzen Sie in ein literales Tabulatorzeichen (\t
).a
Aktivieren Sie für Buchstaben die Feststelltaste, damit die Groß- und Kleinschreibung für den Rest der Zeichenfolge umgekehrt wird.z
Großschreiben Sie für Buchstaben den nächsten Buchstaben in der Zeichenfolge.Für die Leertaste ist keine Übersetzung erforderlich.
Behalten Sie die Groß- und Kleinschreibung bei, während Sie übersetzen, und achten Sie auf die Feststelltaste (wenn die Feststelltaste aktiviert ist, stellen Sie sicher, dass der umgekehrte Fall vorliegt).
Alle Zeichen in der Eingabezeichenfolge sind Buchstaben, Zahlen oder Leerzeichen. Keine Interpunktion oder andere Zeichen können enthalten sein.
Testfälle
\t
ist ein wörtliches Tabulatorzeichen
Hello world -> Gwkki qieks
Code Golf -> Xisw Fikd
Queried apples -> \tyweuws OOKWA
Wertung
Die niedrigste Punktzahl in Bytes gewinnt. Habe Spaß!
Azerty
->wERT
z
Großschreiben Sie für Buchstaben den nächsten Buchstaben in der Zeichenfolge -> bedeutet das, dass wir uns nur um die Großschreibung von Buchstaben kümmern müssen und nicht zwischen Ziffern und Symbolen wechseln müssen? Was ist der erwartete Ausgang für0123456789
,a0123456789
undz0z1z2z3z4z5z6z7z8z9
? (Außerdem fungiert die Feststelltaste auf vielen Nicht-QWERTZ-Tastaturen tatsächlich als Umschaltsperre. Ich glaube, dass QWERTZ diesem Muster nicht folgt, aber es sollte für diejenigen von uns angegeben werden, die nicht damit vertraut sind. )Antworten:
JavaScript (V8) , 271 Byte
Probieren Sie es online! Mein erster JavaScript Code Golf. Es könnte definitiv kürzer sein, aber ich denke, das ist ein guter Anfang.
Im Grunde findet es jedes Zeichen in der
k
Zeichenkette und ersetzt es durch das vorherige, vertauscht dann den Fall von allem zwischen demA
odera
und entfernt alle Vorkommen vonZ
oderz
(da die Umschalttaste nichts für sich tut).Dies sollte ein normales QWERTZ-Tastaturlayout sein, aber lassen Sie es mich wissen, wenn nicht.
quelle
zebras=>wveA
scheint der Testfall falsch zu sein. Die erstez
sollte bewirkene
, dass ein Großbuchstabe gedruckt wirdw
. Von OP: "z
Großschreiben Sie für Buchstaben den nächsten Buchstaben in der Zeichenfolge."Python 3 , 211 Bytes
Probieren Sie es online!
Verwendet eine Suchzeichenfolge, in der das normale Zeichen und seine umschaltmodifizierte Version zusammengefasst sind. Für jedes Zeichen in der Eingabe wird das Zeichen zwei Stellen links abgerufen. Ändert die Großschreibung durch Hinzufügen
1
(oder-1
wenn das aktuelle Zeichen in Großbuchstaben geschrieben ist) zum Suchwert, wenn die Umschalt-XOR-Feststelltaste aktiviert ist. Zahlen werden vom Feststelltasten-Modifikator nicht beeinflusst.quelle
PHP , 227 Bytes
Probieren Sie es online!
Ich habe eine Zuordnungszeichenfolge (
~1!2@3#4$5%6^7&8*9(0 qwertyuiopasdfghjklzxcvbnm
) erstellt, die für jede Ziffer links den UMSCHALT-Modus und für jeden Buchstaben den Buchstaben / die Taste links davon enthält.Ich durchlaufe Eingabezeichen und für jedes Zeichen:
a
oder istA
, wird die Feststelltaste umgekehrt (logisch nicht).z
oder istZ
, wird das Umschalt-Flag auf gesetzt1
.aAzZ
:$t
.1
,$t
gedruckt wird, sonst, wenn Ziffer ist1
,`
wird gedruckt, wenn Ziffer ist0
,9
gedruckt wird und ansonstendigit-1
gedruckt wird.$t
gedruckt. Der einzige Sonderfall ist das Tabulatorzeichen, das so gedruckt wird, wie es ist.0
am Ende zurückgesetzt.quelle
Rot , 218 Bytes
Probieren Sie es online!
Betrifft
AaZz
derzeit keine Ziffern.quelle
'A pear' -> ' OWe'
C (gcc) , 276 Bytes
Vielen Dank an Ceilingcat für -33 Bytes.
Probieren Sie es online!
quelle