できるだけ小さなスペースにスタックする必要があるボードがたくさんあります。残念ながら、10枚以上積み重ねるとボードは倒れます。ボードを積み重ねる方法を教えてくれるプログラムが必要です。10枚以上のボードを積み重ねたり、ボードを空のスペースにぶら下げたりせずに、できるだけ水平方向のスペースを少なくしてください。
あなたのタスク:
ボードの長さを含む配列が与えられたときに、ボードを積み重ねる方法をASCIIアートとして出力するプログラムまたは関数を作成します。空のスペースにぶら下がっているボード。ASCIIアートには、ボードの構成が表示され、それぞれ異なる文字を使用して表示されます。最大20のボードがあります。たとえば、入力が[2,2,4,2,2,4,4,4]の場合、可能な出力は次のとおりです。
dhh
dgg
dff
dee
abc
abc
abc
abc
これは安定した構成です(ただし、これは実際には0.1秒以内に落ちます)。
入力:
ボードの長さを示す、最大20個の整数を含む配列。
出力:
上記のように、ボードの構成を示すASCIIアート。
テストケース:
テストケースには他のソリューションがあり、各ボードに表示される文字が異なる場合があることに注意してください。
[12,2,2,2,3,4,4,8,8] -> ffgghhiii
ddddeeeeeeee
bbbbbbbbcccc
aaaaaaaaaaaa
[4,4,4,4,4,4,4,4,4,4,4,4] -> llll
aaaa
cfghk
cfghk
cfghk
cfghk
debij
debij
debij
debij
[4,4,4,4,4,4,3,3,3,2,2,2,1] -> jjml
iiil
hhhk
gggk
ffff
eeee
dddd
cccc
bbbb
aaaa
得点:
これはcode-golfで、バイト単位の最低スコアが勝ちです