요구하는 순서대로 구현
def solution(p):
if not p:
return p
n = len(p)
left, right = 0, 0
for i in range(n):
if p[i] == '(':
left += 1
else:
right += 1
if left == right:
break
u = p[:i+1]
v = p[i+1:]
stack = []
for char in u:
if char == '(':
stack.append(char)
else:
if stack:
stack.pop()
else:
new_u = u[1:-1]
tmp = ''
for char in new_u:
if char == '(':
tmp += ')'
else:
tmp += '('
return '(' + solution(v) + ')' + tmp
else:
return u + solution(v)
'practivceAlgorithm > programmers' 카테고리의 다른 글
[KAKAO 2021][Python] 순위 검색 (0) | 2021.10.24 |
---|---|
[KAKAO 2020][Python] 문자열 압축 (0) | 2021.10.24 |
[programmers][Python] 2021 kakao blind 메뉴 리뉴얼 (0) | 2021.10.20 |
[programmers][Python] 2021 kakao blind 신규아이디 추천 (0) | 2021.10.20 |
[Programmers][Python] 2021 kakaoblind 카드 짝 맞추기 (0) | 2021.10.17 |