[백준] 9012번. 괄호 (Python)

윤라이트·2024년 2월 25일

백준 코딩테스트

목록 보기
24/25


[실버 4] 9012번. 괄호



문제 풀이

  1. T 입력 받기
  2. T 개수만큼 for문 반복
  3. 괄호 입력 받기
  4. 변수 3개 0으로 초기화
  5. '('')'개수 구하기
  6. 괄호의 개수가 홀수이거나 시작이 ')'이거나 '('와 ')'의 개수가 맞지 않을 때,
    "NO" 출력.
  7. '('이면 +1, ')'이면 -1을 사용하여 result의 값이 0이 되면
    괄호가 잘 닫힌 걸로 판단하고 "YES" 출력.
    📌 만일, "((("와 같은 경우가 있을 수도 있기에, ')일 때, result가 0이라면 "NO" 출력.


[정답 코드] 9012번. 괄호 (Python)

T = int(input())

for i in range(T) :
    VPS = input()
    count1 = 0
    count2 = 0
    result = 0

    for i in range(len(VPS)) :
        if VPS[i] == '(' :
            count1 += 1
        elif VPS[i] == ')' :
            count2 += 1

    if len(VPS) % 2 == 1 or VPS[0] == ')' or count1 != count2 :
        print("NO")
    else :
        for i in range(len(VPS)) :
            if VPS[i] == '(' :
                result += 1 
            elif VPS[i] == ')' :
                if result == 0 :
                    print("NO")
                    result = -1
                    break     
                result -= 1 
        if result == 0 :
            print("YES") 


profile
끝까지 가보자9~!!!🔥✨💡

0개의 댓글