문제
def uv(p):
open = 0
close = 0
l = 0
while ((open == 0 and close == 0) or open != close) and l < len(p):
if p[l] == '(':
open += 1
else:
close += 1
l += 1
return p[:l], p[l:]
def tf(u):
open = 0
close = 0
for i in u:
if i == '(':
open += 1
else:
close += 1
if open < close:
return False
return True
def solution(p):
if p == '':
return ''
u, v = uv(p)
if tf(u):
return u + solution(v)
else:
answer = '('
answer += solution(v)
answer += ')'
for i in u[1:-1]:
if i == '(':
answer += ')'
else:
answer += '('
return answer