반응형
문제 링크 : https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
문제 설명
프로세스 설명
1. '(' 가 들어올 경우 stack에 아무 값이나 넣어준다.
2-1. ')' 가 들어온 경우에는 stack이 빈값값이라면, pop을 해준다.
2-2. 만약에 stack의 값이 빈값이라면 break로, NO를 출력하는 프로세스로 진행해준다.
3. 최종적으로 stack의 길이가 없고, flag가 true라면 VPS가 맞기에 "YES"를 출력해준다.
최종 코드
import sys
input = sys.stdin.readline
N = int(input())
def isVPS(m_parenthesis):
stack_list = list()
flag = True
for i in range(len(m_parenthesis)-1):
if(m_parenthesis[i]=='('):
stack_list.append('(')
else:
if(len(stack_list) != 0):
stack_list.pop()
else:
flag = False
break
if((len(stack_list) == 0) & flag):
print("YES")
else:
print("NO")
while(N):
N -= 1
parenthesis = input()
isVPS(parenthesis)
반응형
'공부 > 백준\BeakJoon' 카테고리의 다른 글
[BEAKJOON] 백준 10845번 : 큐 (0) | 2023.06.16 |
---|---|
[BEAKJOON] 백준 1406번 : 에디터 (0) | 2023.06.11 |
[BEAKJOON] 백준 1874번 : 스택 수열 (0) | 2023.06.03 |
[BEAKJOON] 백준 1016번 : 제곱 ㄴㄴ 수 (0) | 2022.02.26 |
[BEAKJOON] 백준 24039번 : 2021은 무엇이 특별할까? (0) | 2022.02.23 |