Die Herausforderung
Das Ziel dieser Herausforderung besteht darin, zu bestimmen, ob eine bestimmte Zeichenfolge mit nur einer Zeile einer Standard-QWERTZ-Tastatur in Großbritannien eingegeben werden kann.
Dies ist code golf
, so dass die kürzeste Lösung in Bytes gewinnt!
IO
Die Eingabe ist eine einzelne Zeichenfolge mit null oder mehr Zeichen im ASCII-Dezimalbereich von 32-126 einschließlich. Sie können für diese Herausforderung annehmen, dass eine leere Zeichenfolge keine Eingabe erfordert und daher mit einer einzigen Zeile eingegeben werden kann.
Sie können die Eingabe als eine Zeichenfolge, eine Liste von Zeichen oder eine äquivalente Form für Ihre Sprache annehmen.
Die Ausgabe sollte ein wahrer Wert für jeden String sein, der mit einer einzelnen Zeile eingegeben werden kann, oder ein falscher Wert für einen String, der nicht eingegeben werden kann.
Tastaturbelegung
Um Unklarheiten in Bezug auf das Standard-Tastaturlayout zu beseitigen, finden Sie in jeder Zeile eine Liste der verfügbaren Tasten, einschließlich alternativer oberer Tasten (Zugriff über Umschalttaste).
- Linie 1
- Standard:
`1234567890-=
- Standard:
- Zeile 2
- Standard:
qwertyuiop[]
- Standard:
- Zeile 3
- Standard:
asdfghjkl;'#
- Großbuchstaben:
ASDFGHJKL
- Besonderheit: Feststelltaste
- Standard:
- Zeile 4
- Standard:
\zxcvbnm,./
- Wechseln:
|<>?
- Großbuchstaben:
ZXCVBNM
- Spezial: Schicht
- Standard:
- Zeile 5
- Spezial: Leertaste
Alternative obere Tasten können nur gedrückt werden, wenn sich die Umschalttaste ebenfalls in derselben Zeile befindet, und auf Großbuchstaben kann nur über die Feststelltaste oder die Umschalttaste zugegriffen werden. Sie können wirklich nur eine Tastaturzeile verwenden!
Testfälle
-> true (empty string)
45-2=43 -> true (line 1)
qwerty -> true (line 2)
tryitout -> true (line 2)
Qwerty -> false (no shift or caps on line 2)
#sad -> true (line 3)
AsDf -> true (caps lock used)
@sDF -> false (no shift for alternate upper)
zxcvbn? -> true (line 4)
zxc vbn -> false (spacebar on separate line)
123abc -> false (multiple lines)
-> true (just space bar)
!!! -> false (exclamation marks cannot be printed by a single line)