계산기2에서 괄호 경우를 추가했다. 괄호는 부호와 같이 tmp에 저장한다
for tc in range(1,10+1):
N=int(input())
arr=list(input())
intt=[]
tmp=[]
for i in arr:
if i=='*':
tmp.append(i)
elif i=='+':
while tmp:
if tmp[-1]=='(':
break
intt.append(tmp.pop())
tmp.append(i)
elif i=='(':
tmp.append(i)
elif i==')':
while tmp:
if tmp[-1]=='(':
tmp.pop()
break
intt.append(tmp.pop())
else:
intt.append(i)
for i in tmp[::-1]:
intt.append(i)
stk=[]
for i in intt:
if i.isalnum():
stk.append(int(i))
else:
n1=stk.pop()
n2=stk.pop()
if i=='+':
stk.append(n1+n2)
elif i=='*':
stk.append(n1*n2)
print(f'#{tc} {stk[0]}')
텍스트