https://www.acmicpc.net/problem/4949
백준 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')
'백준 알고리즘' 카테고리의 다른 글
파이썬) 백준 알고리즘 | 10816번 : 숫자 카드 2 (0) | 2022.03.01 |
---|---|
파이썬) 백준 알고리즘 | 1302번 : 베스트셀러 (0) | 2022.03.01 |
파이썬) 백준 알고리즘 | 2346번 : 풍선 터뜨리기 (0) | 2022.03.01 |
파이썬) 백준 알고리즘 | 11947번 : 이런 반전이 (0) | 2022.03.01 |
파이썬) 백준 알고리즘 | 17478번 : 재귀함수가 뭔가요? (0) | 2022.03.01 |
댓글