Baekjoon

Baekjoon 9012번 괄호

ppwag 2020. 7. 26. 00:10

문제

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

걸린 시간

00 : 12 : 42

풀이

Python3

class Stack:
    def __init__(self):
        self.stack = []

    def is_empty(self):
        return len(self.stack) == 0

    def push(self, item):
        self.stack.append(item)

    def pop(self):
        if self.is_empty():
            return -1
        else:
             return self.stack.pop()

    def peek(self):
        if self.is_empty():
            return -1
        else:
            return self.stack[-1]

def VPS(i):
    s = Stack()
    for j in i:
        if j == '(':
            s.push(j)
        elif j == ')':
            ch = s.pop()
            if ch == '(':
                pass
            else:
                return False

    if s.is_empty():
        return True
    else:
         return False

if __name__ == "__main__":
    T = int(input())    

    string = [input() for _ in range(0, T)]

    for i in string:
        if VPS(i):
            print("YES")        
        else:
             print("NO")

'Baekjoon' 카테고리의 다른 글

Baekjoon 11651번 좌표 정렬하기 2  (0) 2020.07.26
Baekjoon 10816번 숫자 카드 2  (0) 2020.07.26
Baekjoon 1181번 단어 정렬  (0) 2020.07.25
Baekjoon 10814번 나이순 정렬  (0) 2020.07.25
Baekjoon 2164번 카드2  (0) 2020.07.25

댓글