https://www.acmicpc.net/problem/9012
num = int(input())
for _ in range(num):
value = 0
stack = []
word = input()
for i in word:
if i == '(':
stack.append('(')
else:
if len(stack) == 0:
value = 1
break
stack.pop()
if len(stack) != 0:
value = 1
if value == 0:
print('YES')
else:
print('NO')
이제는 익숙해진 스택 문제이다.
1.스택 리스트를 만들고 append할 조건과 pop할 조건을 중심으로 스택 리스트를 활용한다.
2. 틀리는 요소에 변수 value값을 다르게 해주면 편하게 yes or no를 구분할 수 있다.
지금 약간 헷갈리는 개념은
1.break문 사용시 범위가 어디까지 break되냐
2.리스트 append의 정확한 범위(사용가능한)
정도가 되겠다.
차차 문제를 해결하며 헷갈리는 부분을 해결하도록 하자.
'자료구조,알고리즘(Python) > 백준' 카테고리의 다른 글
Python_(Binary search에 관한 문제들) (1) | 2024.09.03 |
---|---|
(백준) 1463 : Python (0) | 2024.08.29 |
백준 : 17219(Python) (0) | 2024.08.23 |
백준:10816(Python) (0) | 2024.08.20 |
백준 : 1620 (Python) (0) | 2024.08.19 |