기록하고 까먹지 말기

9012 본문

전공/백준

9012

yha97 2022. 10. 17. 13:56

날짜 : 2022. 10. 17

사용 언어 : python

 

문제

 

 

코드

import sys

def check(n):
    ps = {"(" : 0, ")" : 0}
    for i in range(len(n)):
        if n[i] == "(":
            ps["("] += 1
        else:
            if ps["("] <= ps[")"]:
                return False
            ps[")"] += 1

    if ps["("] == ps[")"]:
        return True

t = int(sys.stdin.readline())

for _ in range(t):
    s = sys.stdin.readline().strip()
    if check(s):
        print("YES")
    else:
        print("NO")

 

 

알게된 점

- stack 문제중 하나였다.

- "(" 의 경우 자유롭게 삽입 가능하지만 괄호를 닫는 ")"는 여는 문자의 개수보다 작아야 하고, 마지막에는 서로 개수가 같아야 한다는 것이 조건이었다.

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

1049  (0) 2022.10.19
16953  (0) 2022.10.17
10828  (0) 2022.10.17
1260  (0) 2022.10.15
13305  (0) 2022.10.13