Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

똥그래미 코딩공장

백준 9012(괄호) 파이썬 본문

Algorithm

백준 9012(괄호) 파이썬

동그라미_ssu 2022. 12. 21. 20:08

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

 

9012번: 괄호

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

www.acmicpc.net

이번 괄호 문제는 개인적으로 좀 까다로운 문제였다.

이걸 어떻게 접근해야하지? 생각을 했다가 '(' 와 ')' 의 갯수를 세주면서 조건을 넘어가거나 충족하지 못하면 출력값에 맞게 출력해주어 문제를 해결하였다. 

아래의 코드를 보면서 보충 설명을 하겠다

 

T=int(input())

for _ in range(T):
    cnt=0
    test=input()
    test2=list(test)
    
    for i in range(len(test2)):
        if test2[i] == "(":
            cnt=cnt+1
        else:
            cnt=cnt-1
        if cnt<0: // ')'가 많아지는 순간 VPS조건을 벗어나기 때문에 바로 "NO"를 출력해준다
            print("NO")
            break                      
    if cnt == 0: // VPS조건 충족
        print("YES")
    elif cnt>0: // VPS조건 미충족 '('가 더 많은 경우
        print("NO")

 이중포문을 사용하여 풀었다. 정답을 맞긴했지만 이중포문을 사용하는게 맞는지 좀 찝찝하다.

오랜만에 시간이 좀 걸린 문제였다.

아직도 갈길이 멀다...