チャレンジ
この課題の目標は、標準のUK QWERTYキーボードの1行のみを使用して、指定された文字列を入力できるかどうかを判断することです。
これはcode golf
ですので、バイト単位の最短ソリューションが勝ちです!
IO
入力は、32から126までのASCII 10進数範囲内の0個以上の文字の単一の文字列になります。このチャレンジでは、空の文字列は入力する必要がないため、1行で入力できると想定できます。
入力は、文字列、文字のリスト、または言語の同等の形式として取得できます。
出力は、単一の行を使用して入力できる文字列の場合は真の値、入力できない場合は偽の値である必要があります。
キーボード・レイアウト
標準のキーボードレイアウトが下にあるもののあいまいさを明確にするために、各行で使用可能なキーのリストを示します。これには、代替の上位キー(Shiftキーを使用してアクセス)が含まれます。
- ライン1
- 標準:
`1234567890-=
- 標準:
- 2行目
- 標準:
qwertyuiop[]
- 標準:
- 3行目
- 標準:
asdfghjkl;'#
- 大文字:
ASDFGHJKL
- スペシャル:Caps Lock
- 標準:
- 行4
- 標準:
\zxcvbnm,./
- 代わりの:
|<>?
- 大文字:
ZXCVBNM
- 特別:シフト
- 標準:
- 5行目
- スペシャル:スペースバー
代替の上部キーは、Shiftも同じ行にある場合にのみ押すことができ、大文字のキーにはCaps LockまたはShiftを介してのみアクセスできます。実際に使用できるのは、キーボードの1行だけです!
テストケース
-> 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)