괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
s | answer |
---|---|
()() | true |
(())() | true |
)()( | false |
(()( | false |
def solution(s):
answer = True
stack=[]
for x in s:
if x=='(':
stack.append(x)
else:
if len(stack)==0:
return False #)이전에 (가 없으면 False
stack.pop(-1) #()을 짝으로 해서, )가 나오면 (과 함께 지우기
if len(stack)==0:
return True
else:
return False
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12909