https://www.acmicpc.net/problem/4949
4949번: 균형잡힌 세상
각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에
www.acmicpc.net
# 4949 - Python 3
import sys
from collections import deque
input = sys.stdin.readline
while True:
x = input().rstrip()
s = deque() # '(', '['를 저장하는 deque
cnt = 0
if x[0] == ".":
break
for i in range(0, len(x)):
if x[i] == '(':
s.append(x[i])
elif x[i] == '[':
s.append(x[i])
elif x[i] == ')':
if not s or s[-1] == '[': # 가장 최근에 s에 input된 것이 '['이면 안 됨
cnt += 1
else:
s.pop()
elif x[i] == ']':
if not s or s[-1] == '(': # 가장 최근에 s에 input된 것이 '('이면 안 됨
cnt += 1
else:
s.pop()
if not s and cnt == 0:
print("yes")
else:
print("no")'코딩' 카테고리의 다른 글
| [Python] 백준 #1874. 스택 수열 (0) | 2023.03.31 |
|---|---|
| [Python] 백준 #7785. 회사에 있는 사람 (0) | 2023.03.31 |
| [Python] 백준 #9012. 괄호 (0) | 2023.03.30 |
| [Python] 백준 #24723. 녹색거탑 (0) | 2023.03.30 |
| [Python] 백준 #1010. 다리 놓기 (0) | 2023.03.30 |