문제 요약

문제 링크 : 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")

문제 태그