[Algorithm] 백준 9012 괄호 파이썬

Donghyeon Ko·2023년 5월 27일
0

🧐 [Algorithm]

목록 보기
1/2
post-thumbnail


📌작성한 코드

n = int(input())

for i in range(n):
    s = input()
    stk = []

    for ch in s:
        if ch == "(":
            stk.append(ch)

        elif ch == ")":
            if stk:
                stk.pop()
            elif not stk:
                print("NO")
                break
    else:
        if not stk:
            print("YES")
        else:
            print("NO")

📌중요한 부분 톺아보기

  1. 반복문 안에 break가 있을 때의 else 사용

1. 반복문 안에 break가 있을 때의 else 사용

step 1 ) break문이 작동 했을 때에는 else문이 실행되지 않는다. 해당 경우는 ), ())같이 닫는괄호가 더 많을 때를 걸러주기 위해서 작성한것이다. 이러한 경우를 break를 이용하면 실행시간에 있어 이득을 볼 수 있다.
step 2 ) 만약, break가 실행되지 않은 경우 즉 (,()( 같이 여는 괄호다 더 많을 때는 반복문이 모두 실행 된 후 stk 배열이 비지 않았을 경우를 조건으로 놓아 VPS의 참 유무를 판단한다.

0개의 댓글