세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.
정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.
문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.
arr = []
while(1):
str = input().rstrip()
if(str == '.'): break
for i in range(len(str)):
if(len(arr) == 0):
if(str[i] == ')' or str[i] == ']'):
arr.append(str[i])
break
if(str[i] == '(' or str[i] == '['):
arr.append(str[i])
else:
if(str[i] == ')'):
if(arr[-1] == '('): arr.pop()
else:
arr.append(str[i])
break
elif(str[i] == ']'):
if(arr[-1] == '['): arr.pop()
else:
arr.append(str[i])
break
print('no' if len(arr) > 0 else 'yes')
arr =[]
괄호 짝 맞추기 문제였다. 문자열이 균형을 이뤄야 한다길래 조금 헷갈렸던 문제. 고려 할 필요가 없었다.