Coding Test/백준
[백준 4949번] 균형잡힌 세상
Lucian_Cho
2021. 1. 4. 21:59
# 문제



내 풀이
while True:
string = input()
# '.'이 입력되면 종료
if string == '.':
break
stack = []
for s in string:
# 스택에 괄호가 존재할 때, 최상단이 '('이면서 ')'이 입력이거나 최상단이 '['이면서 ']'이 입력되는 경우
if stack and ((stack[-1] == '(' and s == ')') or (stack[-1] == '[' and s == ']')):
stack.pop() # 스택의 최상단 괄호를 제거
# 위 경우가 아닐 때 s가 ()[]중 하나인 경우 스택에 삽입
elif s in "([)]":
stack.append(s)
if stack:
print("no")
else:
print("yes")