Le défi
Le but de ce défi est de déterminer si une chaîne donnée peut être saisie à l'aide d'une seule ligne d'un clavier QWERTY britannique standard.
C'est code golf
donc la solution la plus courte en octets qui gagne!
IO
L'entrée sera une seule chaîne de zéro ou plusieurs caractères dans la plage décimale ASCII de 32 à 126 inclus. Vous pouvez supposer pour ce défi qu'une chaîne vide ne nécessite aucune saisie et peut donc être saisie à l'aide d'une seule ligne.
Vous pouvez prendre l'entrée comme une chaîne, une liste de caractères ou un formulaire équivalent pour votre langue.
La sortie doit être une valeur véridique pour toute chaîne pouvant être saisie à l'aide d'une seule ligne, ou falsey pour celle qui ne le peut pas.
Clavier
Pour clarifier toute ambiguïté sur la disposition du clavier standard ci-dessous est une liste de touches disponibles sur chaque ligne, y compris les touches supérieures alternatives (accessibles via Maj).
- Ligne 1
- La norme:
`1234567890-=
- La norme:
- Ligne 2
- La norme:
qwertyuiop[]
- La norme:
- Ligne 3
- La norme:
asdfghjkl;'#
- Majuscule:
ASDFGHJKL
- Spécial: Verrouillage des majuscules
- La norme:
- Ligne 4
- La norme:
\zxcvbnm,./
- Alterner:
|<>?
- Majuscule:
ZXCVBNM
- Spécial: Shift
- La norme:
- Ligne 5
- Spécial: barre d'espace
Les touches supérieures alternatives ne peuvent être enfoncées que si Shift est également sur la même ligne, et les touches majuscules ne sont accessibles que via le verrouillage des majuscules ou Shift. Vous ne pouvez vraiment utiliser qu'une seule ligne de clavier!
Cas de test
-> 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)