特定のポイントにドロップするブロックのリストの入力が与えられた場合、結果の「タワー」の高さを出力します。
この課題を説明する最良の方法は、例です。入力は、nブロックを表す2n個の整数のリストになります。最初の整数はブロックのx位置であり、0インデックスが付けられ、2番目の整数はブロックの幅です。たとえば、の入力はブロックを表します(x座標は以下にラベル付けされます)。2 4
####
0123456789
ここで、入力がであるとしましょう2 4 4 6。つまり、x = 2で幅が4の1つのブロックと、x = 4で幅が6の1つのブロックです。
######
####
a。)ブロックは常にタワーの最上部から「ドロップ」し、b。)ブロックは決して「倒れる」ことはありません(つまり、常にバランスが保たれます)。したがって、の入力は以下を
2 4 4 6 12 1表します。
######
#### #
最後のブロックが「地面」に落ちていることに注意してください。
最終的な出力は、各x値から最大値までのタワーの最大高さになります。したがって、入力2 4 4 6 12 1は出力になります
0011222222001。
######
#### #
0011222222001
入力は、空白/コンマ区切りの文字列、整数の配列、または関数/コマンドライン引数のいずれかとして指定できます。ブロック位置(x値)は常に整数0以上で、幅は常に整数1以上で、常に少なくとも1つのブロックがあります。
出力は、非数値文字で区切られた単一の文字列(例"0, 0, 1, ...")、すべての数字をリストした単一の文字列(例、
"001..."最大高さは9以下であることが保証されます)、または整数の配列として指定できます。
これはcode-golfであるため、バイト単位の最短コードが優先されます。
テストケース:
In Out
---------------------------------------------------------
2 4 4 6 12 1 0011222222001
0 5 9 1 6 4 2 5 1133333222
0 5 9 1 2 5 6 4 1122223333
0 5 2 5 6 4 9 1 1122223334
20 1 20 1 20 1 00000000000000000003
5 5 000011111
0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 4 123456789999