본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Silver IV)

백준 / 9012번 / 괄호 / Python / deque

728x90

📚문제

출처 : 백준 9012번 (https://www.acmicpc.net/problem/9012)


📝풀이

# 9012 괄호 (Silver IV)
import sys
from collections import deque

for _ in range(int(input())):
    deq = deque()
    vps = sys.stdin.readline().rstrip()
    for i in vps:
        if i == '(':
            deq.append(i)
        elif i ==')':
            if deq:
                deq.pop()
            else:
                print('NO') #처음부터 괄호가 들어온다면 이미 모양이 맞지않으므로 'NO' 출력
                break
    else:
        print('NO') if deq else print('YES')

 

괄호의 개수만 카운팅해서 비교하면 틀린다

'()' 이 모양이 되야해서 괄호의 순서도 중요한 문제

 

마치 테트리스..?처럼

deque을 생성해서 '('모양 다음에 ')'가 오게 되면 

합이 맞게 되므로 기존의 '('을 제거

 

728x90