Girdi olarak düzgün şekilde parantez içine alınmış bir dize verildiğinde, iç içe parantezler çıkarılmış olarak eşleşen parantezler içindeki (veya tüm parantezlerin dışındaki) tüm boş olmayan alt dizgelerin bir listesini çıkarın. Her alt dize, tamamen aynı eşleşen parantez içindeki karakterlerin sırası olmalıdır. Alt dizgiler derinlik sırasına göre sıralanmalı ve aynı derinliğe sahip alt dizgiler dizgede meydana geldikleri sıraya göre listelenmelidir. Girişin her zaman doğru parantez içinde olduğunu varsayalım.
Girişin yalnızca küçük harf ASCII harfleri ve parantez içerdiğini varsayabilirsiniz.
Cevabınız, bir dizge verildiğinde bir dizge listesi döndüren bir işlev olmalıdır.
Örnekler:
'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']
En az bayt kazanır.
i
, olduğundan daha az iç içe d
.
'i'
ve'd'
doğru sırada mı?