반응형
알고리즘
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을 연습해 볼수 있는 어렵지 않은 문제여서 좋았다.
반응형
'알고리즘 > Java' 카테고리의 다른 글
[python] 백준 제로(10773) (0) | 2022.01.09 |
---|---|
[python] 백준 균형잡힌 세상(4949) (0) | 2022.01.09 |
[python] 백준 스택(10828) (0) | 2022.01.09 |
[python] 백준 스택 수열(1874) (0) | 2022.01.09 |
[python] 프로그래머스 방금그곡(카카오 신입공채) (0) | 2021.12.26 |