def solution(s):
stack = []
for i in s:
if i == "(":
stack.append(i)
else:
if not stack or stack.pop() != "(":
return False
return len(stack) == 0
괄호는 ‘(’와 ‘)’가 하나씩 매칭되어야 하며 ‘(’가 무조건 먼저와야 한다.
따라서, ‘(’이 오면 스택에 넣고, ‘)’이 오면 스택에서 pop하여 매칭되는지를 확인하였다.
모든 문자열 순환이 마친 후 스택이 비어있어야 최종적으로 모든 괄호 매칭됐음을 의미한다.
프로그래머스 코딩 테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/12909