문제출처: https://www.acmicpc.net/problem/15815
1. 문제 접근 방식
문자열을 순환하면서 연산자면 스택에서 pop후에 계산하고 다시 스택에 append하고 숫자면 stack에 append하는 방식으로 접근했다.
2. 내가 푼 코드
import sys
x = sys.stdin.readline().strip()
result = 0
stack = []
for i in x:
if i == '+':
a=stack.pop()
b=stack.pop()
stack.append(a+b)
elif i == '*':
a=stack.pop()
b=stack.pop()
stack.append(a*b)
elif i == '-':
a=stack.pop()
b=stack.pop()
stack.append(b-a)
elif i == '/':
a=stack.pop()
b=stack.pop()
stack.append(b//a)
else:
stack.append(int(i))
for j in stack:
print(j)
3. 결과 및 느낀점
처음에 b//a를 해야하는데 자꾸 b/a를 해서 틀렸다.
실수를 반복하지 말자...
'[Boj문제풀이]' 카테고리의 다른 글
[Boj/백준] 1406 Python (0) | 2021.09.03 |
---|---|
[Boj/백준] 1935 Python (0) | 2021.09.02 |
[Boj/백준] 5397 Python (0) | 2021.08.31 |
[Boj/백준] 11899 Python (0) | 2021.08.30 |
[Boj/백준] 15922 Python (0) | 2021.08.29 |