열심히 풀었는데 테스트 케이스 5개를 만족하지 못한다. 한참 들여다 봐도 답이 나오지 않아 기록해두기 위해 적어둔다.
T = int(input())
for test_case in range(1, T + 1):
stack = []
Input = list(input().split())
for i in Input:
if i.isdigit():
stack.append(int(i))
elif i == '.':
if len(stack)==1:
ans = stack.pop()
else:
ans = 'error'
break
else:
if len(stack)<2:
ans = 'error'
break
else:
if i == '+':
stack.append(stack.pop()+stack.pop())
elif i == '-':
stack.append(stack.pop()-stack.pop())
elif i == '*':
stack.append(stack.pop()*stack.pop())
elif i == '/':
stack.append(stack.pop()/stack.pop())
print(f"#{test_case} {ans}")
나눗셈 디버깅을 해서야 답을 찾았다;; 순서가 잘못되었었다...ㅜㅜ 진짜 화가나지만 해결했으니 됐다..
T = int(input())
for test_case in range(1, T + 1):
stack = []
Input = list(input().split())
for i in Input:
if i.isdigit():
stack.append(int(i))
elif i == '.':
if len(stack)==1:
ans = stack.pop()
else:
ans = 'error'
break
else:
if len(stack)<2:
ans = 'error'
break
else:
num2 = stack.pop()
num1 = stack.pop()
if i == '+':
stack.append(num1+num2)
elif i == '-':
stack.append(num1-num2)
elif i == '*':
stack.append(num1*num2)
elif i == '/':
stack.append(num1//num2)
print(f"#{test_case} {ans}")