[Boj문제풀이]

[Boj/백준] 15815 Python

ki7348 2021. 9. 1. 11:05

문제출처: 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