Подавши в якості введення правильно скобковий рядок, виведіть список усіх непорожніх підрядів у відповідних дужках (або поза всіма дужками), при цьому видалені вкладені дужки. Кожна підрядка повинна бути послідовністю символів у абсолютно однакових дужках. Підрядки повинні бути вказані у порядку глибини, а підрядки однакової глибини - у порядку, в якому вони виникають у рядку. Припустимо, що введення завжди правильно скоблено в дужках.
Ви можете припустити, що вхід містить лише малі літери 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'
в правильному порядку , в останньому тесті?