백준 #9012
알고리즘
스택을 이용하여 알고리즘을 구현했으며, "(" 가 입력되면 스택에 push해주고 ")" 가 입력되면 스택에서 pop해주었다. 그 결과, ")" 가 입력 되었을 때 스택이 비어있거나, 문자열이 끝났을 때 스택에 값이 남아있으면 NO, 스택이 비어있으면 YES이다.
python
n = int(input())
for i in range(n):
stack = []
flag = 1
vps = input()
for j in vps:
if j == "(":
stack.append(j)
else: # ")"이면서
if not stack: # 스택이 비어있으면
flag = 0 # flag를 바꿔주고
break # 반복문을 종료한다
stack.pop() # 아니면, 스택의 가장 윗 값을 빼준다.
if len(stack) != 0 or flag == 0: # 스택에 값이 남아있거나, flag가 0이면 "NO"
print("NO")
else: # 아니면 "YES"
print("YES")
Author And Source
이 문제에 관하여(백준 #9012), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ryeongse25/백준-9012저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)