適切に括弧で囲まれた文字列を入力として、一致する括弧内(またはすべての括弧の外側)にある空でないすべての部分文字列のリストを、ネストされた括弧を削除して出力します。各サブストリングは、まったく同じ一致する括弧内の文字のシーケンスである必要があります。部分文字列は深さの順にリストする必要があり、同じ深さの部分文字列は文字列に現れる順にリストする必要があります。入力が常に正しく括弧で囲まれていると仮定します。
入力には、小文字のASCII文字と括弧のみが含まれていると想定できます。
答えは、文字列が与えられたときに文字列のリストを返す関数でなければなりません。
例:
'a(b)c(d)e' -> ['ace', 'b', 'd']
'a(b(c)d)e' -> ['ae', 'bd', 'c']
'a((((b))))' -> ['a', 'b']
'a()b' -> ['ab']
'' -> []
'a' -> ['a']
'(((a(b)c(d)e)f)g)h' -> ['h', 'g', 'f', 'ace', 'b', 'd']
'ab(c(((d)ef()g)h()(i)j)kl)()' -> ['ab', 'ckl', 'hj', 'efg', 'i', 'd']
最少バイトが勝ちます。
i
は、よりも深くネストされていませんd
。
'i'
と'd'
、最後のテストケースでは、正しい順序で?