본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 4949번 : 균형잡힌 세상

by 코딩새내기_ 2022. 3. 1.

https://www.acmicpc.net/problem/4949

 

4949번: 균형잡힌 세상

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마

www.acmicpc.net

백준 4949 '균형잡힌 세상' 문제입니다.

코드 보시면 직관적으로 이해할 수 있을 거 같습니다!

import sys
from collections import deque
input = sys.stdin.readline

while True:
    check = True
    sentence = input()
    if sentence[0] =='.':
        break
    q = deque([])
    for sen in sentence:
        if sen == '(' or sen == '[':
            q.append(sen)
        elif sen == ']':
            if not q or q[-1] == '(':
                check = False
                break
            elif q[-1] == '[':
                q.pop()
        elif sen == ')':
            if not q or q[-1] =='[':
                check = False
                break
            elif q[-1] == '(':
                q.pop()
    if not q and check is True:
        print('yes')
    else:
        print('no')

댓글