문제출처: https://www.acmicpc.net/problem/15815
15815번: 천재 수학자 성필
길이가 100이 넘지 않는 수식이 예제 입력과 같이 공백 없이 입력된다. 수식은 0부터 9까지의 숫자와 연산자 '+', '-', '*', '/' 로만 이루어져 있다. 또한, 수식의 계산 중간 과정의 모든 결과는 항상 2
www.acmicpc.net
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 |