적절하게 괄호로 묶인 문자열을 입력으로 받으면 중첩 괄호를 제거하고 일치하는 괄호 내 (또는 모든 괄호 외부)에 비어 있지 않은 모든 서브 스트링의 목록을 출력하십시오. 각 하위 문자열은 정확히 일치하는 괄호 안에있는 일련의 문자 여야합니다. 하위 문자열은 깊이 순서대로 나열되어야하며 동일한 깊이의 하위 문자열은 문자열에서 나타나는 순서대로 나열되어야합니다. 입력이 항상 올바르게 괄호 안에 있다고 가정하십시오.
입력에 소문자 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'
마지막 테스트 케이스에 올바른 순서로?