次のレイアウトのシンプルなキーボードを想定します。
1 2 3 4 5 6 7 8 9 0
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z . , ? !
Peterのキーボードパターンは、キーボードの左上から開始して生成でき、最初の3文字と改行を表示します。1文字上にシフトし、2番目、3番目、4番目のキーを表示します。行の終わりに到達すると、次の行の終わりに続き、その行の先頭に到達するまで後退し、次の行に進み、最後の行の先頭に到達するまで続きます。 。
これはピーターのキーボードパターンです。
123
234
345
456
567
678
789
890
90J
0JI
JIH
IHG
HGF
GFE
FED
EDC
DCB
CBA
BAK
AKL
KLM
LMN
MNO
NOP
OPQ
PQR
QRS
RST
ST!
T!?
!?,
?,.
,.Z
.ZY
ZYX
YXW
XWV
WVU
入力を受け入れず、Peterのキーボードパターンを表示するプログラムを記述します。プログラムは152バイト、つまり出力する文字列のサイズよりも小さくなければなりません。
これはコードゴルフなので、最短のソリューションが優先されます。
[1..9 0 J..A K..T ! ? , . Z..U]。
echo {1..9} "0" {J..A} {K..T} '!?,.' {Z..U}|sed 's/ //g'bashでも使用できますが、sed-commandを追加して空白を削除するには、すでに13文字必要です。これにより57文字になり、これまでにトリプルは作成されていません。sedのholdコマンドを使用すると、perl-solutionに勝つことは可能ですが、6文字でできますか?