백준|9012번|괄호

README·2022년 7월 31일
0

파이썬 PS풀이

목록 보기
44/136

문제설명
괄호들["(",")"]을 입력받고 이 괄호가 제대로 된 괄호인지 판단하는 프로그램입니다.

작동 순서
1.괄호를 입력받습니다.
2. 왼쪽 괄호가 나오면 left를 +1 오른쪽 괄호가 나오면 right를 +1을 해줍니다.
3. 만약 왼쪽 괄호의 개수가 오른쪽 괄호의 개수보다 많은 경우 잘못된 괄호로 판단합니다.
ex. ((())
4. 반복문이 끝까지 수행된 경우 left와 rigt를 비교해서 둘의 수가 같은 경우 YES를 출력하고 둘의 수가 다른 경우 NO를 출력합니다.

소스코드

import sys
for i in range(int(sys.stdin.readline())):
    stack = list(sys.stdin.readline())[:-1]
    length = len(stack)
    left, right = 0, 0
    for j in range(length):
        if stack.pop() == '(':
            left += 1
        else:
            right += 1
        if left > right:
            print("NO")
            break
        if j == length-1:
            if left == right:
                print("YES")
            else:
                print("NO")
profile
INTP 개발자 지망생

0개의 댓글