그림으로 보면 이해가 될 것이다.
입력 받은 s
의 마지막 부터 조회하여, 전부 조회했을 때 스택에 값이 남아있거나 에러가 발생하면 False
아니면 True
def solution(s):
s = list(s)
close = []
if s[-1] == '(':
return False
while s:
cur = s.pop()
if cur == ')':
close.append(')')
else:
if len(close) > 0:
close.pop()
else:
return False
if close:
return False
return True