문제 링크 : https://www.acmicpc.net/problem/9012
문자열 문제다. 저번에 다짐했던 대로, 문제를 풀기 전에 기본 자료구조를 한번 상기시켜보면 어렵지 않게 풀 수 있는 문제였다.
3가지 기본 자료구조 : Stack, Queue, Heap
4가지 파이썬 자료형 : List, Tuple, Dictionary, Set
괄호 특성상 2쌍이 하나를 이루어 짝이 되기 때문에 스택에 담아가며 pop 해주면 수월하게 풀릴 수 있었다.
import sys T = int(sys.stdin.readline()) for _ in range(T): given = sys.stdin.readline().strip() stack = [given[0]] for x in given[1:]: if stack and stack[-1] == '(' and x == ')': stack.pop() else: stack.append(x) if stack: print("NO") else: print("YES")