백준 풀이
[백준/BOJ] - 9012번 python 풀이 - stack 개념
반오십 코린이
2022. 11. 22. 02:13
728x90
Key Point
1. 리스트를 하나 만들어 놓고 '('이 들어오면 해당 리스트에 저장한다.
2. 해당 리스트가 비어있는데 ')'가 들어오면 바로 'NO'
3. 반복문이 종료됐을 때 '('이 존재할 경우 NO
else -> Yes
알게 된 문법
for i in n:
n list에서 list의 원소를 뽑아낸다.
num=int(input())
for _ in range(num):
result=[]
count=0
n=input()
for i in n:
if i=="(":
result.append(i)
elif i==")":
if len(result)==0: # result 비었는데 )가 먼저 들어올 경우
count=-1
break
result.pop() # (가 이미 있을 경우 = len(result) != 0 일 경우
#)가 먼저 들어와 반복문에서 쫓겨났을 경우 or result에 (만 쌓여있을 경우
if count==-1 or len(result)!=0:
print("NO")
else:
print("YES")
728x90