알고리즘

백준 9012 괄호 파이썬 풀이

물에빠진사람 2024. 1. 15. 03:19
반응형

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

 

접근법

열린괄호(+1), 닫힌괄호(-1)의 개수를 세서 결과적으로 0으로 끝나면 YES아니면 NO로 출력되게 하면 될거라 생각하였다.

 

코드

n = int(input())
for _ in range(n) :
    answer = 0
    temp = input()
    for i in temp :
        if i == "(" :
            answer += 1
        elif i == ")" :
            if answer == 0 :    # 닫힌 괄호부터 시작할 경우에 대한 예외처리
                answer -= 1
                break
            answer -= 1
    if answer == 0 :
        print("YES")
    else :
        print("NO")

 

풀고 테스트케이스를 실행하면서 로직을 추가했다. 만약 ')'닫힌 괄호로 시작되는 경우의 예외처리를 해주었다. 

반응형