알고리즘
스택 #백준 9012
현쥬스주스
2021. 3. 18. 18:34
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
[ 문제 해결 과정 ]
처음에는 문제를 보자마자 너무 쉽다고 생각해서 "(" 괄호의 개수와 ")"괄호의 개수가 일치하면 YES 아니면 NO 라고 생각하고 문제를 풀었는데 바로 단칼에 틀렸다고 하여 다시 생각해보니 괄호의 개수로 체크하면 당연히 틀리는 문제였다.
너무 쉽다고 자만하여 실수를 해버렸다. 다시 생각해보니 "()" 이 괄호 한쌍이 정상적인 괄호이므로 해당 문자를 replace()를 사용하여 계속해서 지워나갔을때 아무것도 남지 않으면 정상적인 괄호들로 이루어져있는것이고 만약 문자가 하나라도 남겨져 있으면 정상적이지 못한것으로 판단하여 문제를 해결하였다.
[ 소스코드 ]
n = int(input())
for i in range(n) :
txt = input()
while True :
if txt.find("()") == -1 :
break
txt = txt.replace("()","")
if len(txt) :
print("NO")
else :
print("YES")