백준 4949번: 균형잡힌 세상 #Python

ColorlessDia·2025년 6월 20일

algorithm/baekjoon

목록 보기
579/808
import sys
from collections import deque

input = sys.stdin.readline

while 1:
    line = input().rstrip()

    if line == '.':
        break
    
    is_balanced = True
    stack = deque()

    for char in line:
        
        if not is_balanced:
            break
        
        if char not in ['[', ']', '(', ')']:
            continue
        
        if char in ['[', '(']:
            stack.append(char)
            continue
        
        if not stack:
            is_balanced = False
            break
        
        pop_item = stack.pop()

        if char == ']':
            
            if pop_item != '[':
                is_balanced = False
                break
            
            continue
        
        if char == ')':
            
            if pop_item != '(':
                is_balanced = False
                break
            
            continue

    if is_balanced and (not stack):
        print('yes')
    else:
        print('no')

0개의 댓글