알고리즘/Java

[python] 백준 괄호(9012)

유리코딩 2022. 1. 9. 19:27
반응형

알고리즘

python 백준 괄호(9012)

 

1. 문제

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

 

 

2. 풀이

  • for문을 돌려서 "("가 나올 때 stack list에 추가해준다
  • "("가 아닐 때는 stack에서 top을 pop해주는데 스택이 비어있을 때는 "NO"를 출력해준다
  • for문을 돌고 stack이 비었을 때는 "YES"를 출력, stack이 차있으면 괄호가 짝이 맞지 않은 것으로 "NO"를 출력한다
t = int(input())
# print(t)

for i in range(t):
    stack = []
    a = input()
    for j in a:
        if j == "(":
            stack.append(j)
        else:
            if stack:  # stack이 차있을 때
                stack.pop()
            else:  # stack이 비어 있을 때
                print("NO")
                break
    else:
        if not stack:
            print("YES")
        else:
            print("NO")

 

[느낀점]

  • 새로 학습한 stack을 연습해 볼수 있는 어렵지 않은 문제여서 좋았다.

 

반응형