문제
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
제한사항
입출력 예
풀이
괄호 문제는 전형적인 스택의 기본 문제이다.
고려해야할 것이 3가지 있다.
1. '(' 가 나왔을 때
2. ')'가 나왔을 때 pop을 해준다. ( 길이가 0 초과일 때)
3. 그 외의 경우는 모두 False
def solution(s):
answer = True
tmp = []
for x in s:
if x == '(': 1. '('가 나왔을 때
tmp.append(x)
elif x == ')' and len(tmp) > 0: # 2. ')'가 나왔을 때 pop(길이가 0초과)
tmp.pop()
else: # 3. 그 외의 경우는 모두 False
return False
if len(tmp) > 0: # 만약 괄호가 하나라도 남아있다면 올바른 괄호가 아니다.
return False
return True