코딩 테스트/Baekjoon

S4 9012. 괄호

  • -
728x90
반응형

문제 보기 :  9012번: 괄호


문제

  • 정답률 : 46%


작성 코드

T = int(input())
for _ in range(T):
    check = input()
    if len(check)%2!=0:
        print('NO')
        continue

    calcul = 0 ; a = True
    for i in check:
        if i=='(':
            calcul += 1
        elif i == ')':
            calcul -= 1
        if calcul < 0:
            print("NO")
            a = False
            break
    if calcul == 0:
        print('YES')
    elif a:
        print("NO")

풀이

시간초과가 날까봐 무서웠는데 그런 이슈 없이 넘어갔다. 괄호는 무조건 짝수개로 쌍을 이루니, 홀수개인 상황으로 예외처리를 했다.
그리고 calcul을 계산하는데 '('이 등장하면 +1, ')'이 등장하면 -1을 한다.
만약 calcul이 음수가 된다면 ')'이 더 많이 혹은 먼저 등장한 것이기에 바로 No를 return,
마지막까지 계산 후 calcul이 0이라면 Yes를 return하도록 했다.

 

320x100
728x90

'코딩 테스트 > Baekjoon' 카테고리의 다른 글

S3 2606. 바이러스  (0) 2024.10.25
S3 1463. 1로 만들기  (0) 2024.10.25
S1 10844. 쉬운 계단 수  (0) 2024.10.23
S1 2156. 포도주 시식  (1) 2024.10.22
S1 1697. 숨바꼭질  (0) 2024.10.22
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.