https://programmers.co.kr/learn/courses/30/lessons/
스택 사용 기본 문제
문제설명
'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.
입출력 예
s answer
()() true
(())() true
)()( false
(()( false
솔루션
'('가 나오면 push, ')'이면 stack의 top이 '('일때만 pop하여 함께 제거
코드
# 파이썬
def solution(s):
stack = []
for bracket in s:
if bracket == '(':
stack.append(bracket)
elif stack:
stack.pop()
else:
return False
return not stack