' 4949번 균형잡힌 세상 '
https://www.acmicpc.net/problem/4949
데이터의 삽익과 삭제가 데이터의 가장 한쪽 끝에서만 일어나는 자료구조
후입선출(Last In, First Out) : 가장 마지막으로 추가된 항목을 가장 첫번째로 제거한다.
- push : 데이터 삽입
- pop : 데이터 삭제 -> pop() : 가장 마지막 데이터 삭제
- top : 가장 마지막에 삽입한 데이터를 삭제하지 않고 return
- isEmpty : 스택이 비어있는지 여부 확인
def func(arr):
stack=[]
for a in arr:
if a == '(' or a=='[':
stack.append(a)
elif stack == [] and (a == ')' or a== ']'):
return 'no'
elif stack and a==')':
if stack[-1] == '(':
stack.pop()
else:
stack.append(a)
elif stack and a==']':
if stack[-1] == '[':
stack.pop()
else:
stack.append(a)
if len(stack) ==0:
return 'yes'
else:
return 'no'
while True:
a=input()
if a == '.':
break
print(func(a))