誰もがネストされたリストを愛しています!ただし、ネストされたリストを作成するのが難しい場合があります。深くネストするか、浅くネストするかを決定する必要があります。したがって、あなたの挑戦のために、リストを「自動ネスト」する必要があります。リストを自動ネストするには、リスト内のアイテムのすべてのペアを比較します。
2番目の項目が小さい場合は、次のように2つの要素の間に閉じ括弧と開き括弧を挿入して、2つの要素を分離します。
} { {2 , 1}
たとえば、に
{2, 1}
なり{2}, {1}
、に{3, 2, 1}
なります{3}, {2}, {1}
2番目の項目が同じ場合、何も変更しません。たとえば
{1, 1, 1}
、同じままでに{2, 1, 1, 1}
なり{2}, {1, 1, 1}
ます。2番目の項目が大きい場合、次のすべての項目を1レベル深くネストします。例えば、
{1, 2}
なる{1, {2}}
と{1, 2, 3}
なります{1, {2, {3}}}
チャレンジ
数値のリストを受け取り、自動ネスト後に同じリストを返すプログラムまたは関数を作成する必要があります。ご使用の言語のネイティブリスト形式(または最も近い代替形式)または文字列として、この入力を取得してください。私の例のように中括弧を使用する必要はありません。一貫性がある限り、言語で最も自然な括弧を使用できます。リストには整数のみが含まれると仮定しても安全です。また、リストには少なくとも2つの数字が含まれると想定することもできます。サンプルIOを次に示します。
{1, 3, 2} --> {1, {3}, {2}}
{1, 2, 3, 4, 5, 6} --> {1, {2, {3, {4, {5, {6}}}}}}
{6, 5, 4, 3, 2, 1} --> {6}, {5}, {4}, {3}, {2}, {1}
{7, 3, 3, 2, 6, 4} --> {7}, {3, 3}, {2, {6}, {4}}
{7, 3, 1, -8, 4, 8, 2, -9, 2, 8} --> {7}, {3}, {1}, {-8, {4, {8}, {2}, {-9, {2, {8}}}}}
標準的な抜け穴が適用され、バイト単位の最短回答が勝ちます!
[-100, 100]
ですが、巨大な入力を行うつもりはありません。
{2, 1}
となり{2}, {1}
」どのように1つのレベルが高いです?1つ上のレベルになります{2}, 1
。あなたが持っているものは同じレベルです。