균형잡힌 세상
자료구조 / 문자열/ 스택
while True:
stack = []
result = "yes"
str = input()
if str == '.': break
else:
for i in str:
if i=='(' or i=='[':
stack.append(i)
elif i==')' or i==']':
if stack: #스택이 비어있지 않으면
temp = stack.pop()
if temp=='(': temp=')'
elif temp=='[': temp=']'
if i == temp:
continue
else:
result = "no"
break
else:
result = "no"
break
if stack: #스택이 비어있지 않으면
result = "no"
print(result)
# 나의 코드
if i=='(' or i=='[':
# 다른 코드
if ch in '([':
from sys import stdin
def validate_parens(sentence: str) -> str:
left_parens: list = []
for ch in sentence:
if ch in '([':
left_parens.append(ch)
elif ch == ')':
if not left_parens or left_parens.pop() != '(':
return 'no'
elif ch == ']':
if not left_parens or left_parens.pop() != '[':
return 'no'
return 'yes' if not left_parens else 'no'
def sol(sentences: list) -> str:
return '\n'.join([validate_parens(sentence) for sentence in sentences])
print(sol(stdin.readlines()[:-1]))
stack = []
stack.append(1)
print(stack.pop()) #1