본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지
sw사관학교 정글 2기/02 이분탐색, 분할정복, 스택, 큐, 우선순위 큐

[스택] 백준 9012번 괄호 with Python3

by 금의야행 2021. 8. 13.

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

문제

 

내 풀이

import sys
from collections import deque
input = sys.stdin.readline

#뒤에서부터 탐색해서, )는 +1, (는 -1을 통해 검사하는 함수

def countthat(a):
    global check
	
    if check < 0:
        print("NO")
        return
	
    if not a and check == 0:
        print("YES")
        return
    elif check != 0 and not a:
        print('NO')
        return

    if ')' == a[-1]:
        a.pop()
        check += 1
    elif '(' == a[-1]:
        a.pop()
        check -= 1
    countthat(a)


n = int(input())

for _ in range(n):
    check = 0
    prnthss = deque(list(input().strip()))

    countthat(prnthss)

해설

개념자체는 간단하다.

 

정답 풀이

X

출처:

 

해석

 

댓글