https://www.acmicpc.net/problem/15815

 

15815번: 천재 수학자 성필

길이가 100이 넘지 않는 수식이 예제 입력과 같이 공백 없이 입력된다. 수식은 0부터 9까지의 숫자와 연산자 '+', '-', '*', '/' 로만 이루어져 있다. 또한, 수식의 계산 중간 과정의 모든 결과는 항상 2

www.acmicpc.net

https://learn.microsoft.com/ko-kr/cpp/c-language/postfix-operators?view=msvc-170

 

후위 연산자

자세한 정보: 후위 연산자

learn.microsoft.com

후위 연산자와 그 계산 결과를 코딩하는 문제. stack을 관리하여 풀 수 있다.

 

data = input()
stack = []

for i in data:
    if 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(a * b)
    elif i == '/':
        a = stack.pop()
        b = stack.pop()
        stack.append(b // a)
    else:
        stack.append(int(i))
    print(stack)

print(*stack)

 

+ Recent posts