반응형
def isRight(s):
stack = 0
for i in s:
if i == '(' : stack += 1
else : stack -= 1
if stack < 0 : return False
return True
def reverse(s):
ans = ''
for i in s :
if i == '(' : ans += ')'
else : ans += '('
return ans
def solution(p):
if p == '' : return '' #1
stack = 0 #2
for i in range(len(p)):
if p[i] == "(" : stack += 1
else : stack -= 1
if stack == 0:
u = p[:i+1]
v = p[i+1:]
break
if isRight(u) : return u+solution(v) #3,3-1
else : return '('+solution(v)+')'+reverse(u[1:-1]) #4
반응형
'알고리즘 > 카카오 기출문제' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 숫자 문자열과 영단어 (0) | 2021.07.16 |
---|---|
[파이썬🐍] 프로그래머스 : [1차] 뉴스 클러스터링 (0) | 2021.06.29 |
[파이썬🐍] 프로그래머스 : [1차] 캐시 (0) | 2021.05.26 |
[파이썬🐍] 프로그래머스 : 오픈채팅방 (0) | 2021.05.09 |
[파이썬🐍] 프로그래머스 : 문자열 압축 (0) | 2021.05.07 |
댓글