[Python] 백준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뿐만 아니라 스택이 비어있는지까지 생각하지 못해 오답이 발생했습니다.