문제 요약
문제 링크 : https://atcoder.jp/contests/abc394/tasks/abc394_d
전형적인 안정적인 괄호 문자열 문제입니다. 다만, 괄호의 종류가 ()
, <>
, []
로 다양합니다.
문제 풀이
안정적인 괄호 문자열 문제이기 때문에 스택으로 해결하면 됩니다. 다만, 괄호의 종류가 다양하다는 점을 고려하여 구현해야 합니다.
코드
s = input()
stk = []
for i in s:
if len(stk) == 0 or i in "([<":
stk.append(i)
else:
if stk[-1] == '<' and i == '>':
stk.pop()
elif stk[-1] == '(' and i == ')':
stk.pop()
elif stk[-1] == '[' and i == ']':
stk.pop()
if len(stk) == 0:
print("Yes")
else:
print("No")