[Python] 백준4949 균형잡힌 세상

[Python] 백준4949 균형잡힌 세상

백준4949 균형잡힌 세상 링크

문제

문제

예제 입력

예제


코드

import sys
from collections import deque
 
while True :
    string = sys.stdin.readline()
    stack = deque()
    flag = True
 
    if string == '.\n':
        break

    for ch in string:
        if ch == '(' or ch == '[':
            stack.append(ch)
        elif ch == ')':
            if stack and stack[-1] == '(':
                stack.pop()
            else:
                flag = False
                break
        elif ch == ']':
            if stack and stack[-1] == '[':
                stack.pop()
            else:
                flag = False
                break
 
 
    print("yes" if flag and not stack else "no") # 비어 있으면 False으로 짝이 맞는다.

설명

파이썬을 통해서 사용자로부터 입력받아 조건문/반복문으로 사용하여 균형잡힌 세상을 구현했습니다.


정리

처음 문제를 봤을 때는 해당 테스트케이스를 통과하여 성공한 줄 알았지만 마지막 조건문에서 flag뿐만 아니라 스택이 비어있는지까지 생각하지 못해 오답이 발생했습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그