Diberikan string yang dikurung dengan benar sebagai input, mengeluarkan daftar semua substring kosong dalam tanda kurung yang cocok (atau di luar semua tanda kurung), dengan tanda kurung bersarang dihapus. Setiap substring harus urutan karakter dalam tanda kurung yang sama persis. Substring harus terdaftar dalam urutan kedalaman, dan substring dengan kedalaman yang sama harus terdaftar dalam urutan mereka terjadi dalam string. Asumsikan input selalu dengan tanda kurung benar.
Anda dapat berasumsi bahwa input hanya berisi huruf ASCII dan tanda kurung kecil.
Jawaban Anda harus berupa fungsi yang, ketika diberikan string, mengembalikan daftar string.
Contoh:
'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']
Bytes paling sedikit menang.
i
kurang bersarang dibandingkan d
.
'i'
dan'd'
dalam urutan yang benar dalam test case terakhir?