Bei einer korrekt in Klammern gesetzten Zeichenfolge als Eingabe wird eine Liste aller nicht leeren Teilzeichenfolgen in übereinstimmenden Klammern (oder außerhalb aller Klammern) ausgegeben, wobei geschachtelte Klammern entfernt werden. Jede Teilzeichenfolge sollte die Folge von Zeichen in genau den gleichen Klammern sein. Teilzeichenfolgen sollten in der Reihenfolge der Tiefe aufgelistet werden, und Teilzeichenfolgen derselben Tiefe sollten in der Reihenfolge aufgelistet werden, in der sie in der Zeichenfolge vorkommen. Angenommen, die Eingabe ist immer korrekt in Klammern gesetzt.
Sie können davon ausgehen, dass die Eingabe nur ASCII-Kleinbuchstaben und Klammern enthält.
Ihre Antwort sollte eine Funktion sein, die bei Angabe einer Zeichenfolge eine Liste von Zeichenfolgen zurückgibt.
Beispiele:
'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']
Wenigste Bytes gewinnt.
i
ist weniger tief verschachtelt als d
.
'i'
und'd'
in der richtigen Reihenfolge im letzten Testfall?