El reto
El objetivo de este desafío es determinar si una cadena determinada se puede escribir usando solo una línea de un teclado QWERTY estándar del Reino Unido.
Esto es code golf
, ¡la solución más corta en bytes gana!
IO
La entrada será una sola cadena de cero o más caracteres en el rango decimal ASCII de 32-126 inclusive. Puede suponer para este desafío que una cadena vacía no requiere escritura y, por lo tanto, puede escribirse con una sola línea.
Puede tomar la entrada como una cadena, una lista de caracteres o una forma equivalente para su idioma.
La salida debe ser un valor verdadero para cualquier cadena que se pueda escribir usando una sola línea, o falsey para una que no se puede escribir.
Diseño del teclado
Para aclarar cualquier ambigüedad sobre cuál es la distribución estándar del teclado a continuación, hay una lista de teclas disponibles en cada línea, incluidas las teclas superiores alternativas (a las que se accede mediante Mayús).
- Línea 1
- Estándar:
`1234567890-=
- Estándar:
- Línea 2
- Estándar:
qwertyuiop[]
- Estándar:
- Línea 3
- Estándar:
asdfghjkl;'#
- Mayúscula:
ASDFGHJKL
- Especial: Bloqueo de mayúsculas
- Estándar:
- Línea 4
- Estándar:
\zxcvbnm,./
- Alterno:
|<>?
- Mayúscula:
ZXCVBNM
- Especial: cambio
- Estándar:
- Línea 5
- Especial: barra espaciadora
Las teclas superiores alternativas solo se pueden presionar si Shift también está en la misma línea, y solo se puede acceder a las teclas mayúsculas a través de Mayúsculas o Mayúsculas. ¡Realmente solo puedes usar una línea de teclado!
Casos de prueba
-> 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)