[백준] 1935: 후위 표기식 2 (Python)
문제📖
풀이🙏
- 후위 표기식 특성상 alphabet이 아닌 연산자가 나올 경우 stack에서 숫자를 꺼내 연산자에 따라 연산을 진행하고 그 결과를 다시 stack에 push한다.
- alphabet이 나올 경우 stack에 그 alphabet을 push한다.
- input()이후 A,B,C값을 입력한 숫자로 변환해주기 위해서 각 값을 num리스트에 저장하고 input에서 알파벳이 나오면 알파벳을 아스키코드값으로 변환하고 시작 알파벳인 A의 아스키코드 값을 빼서 num 리스트를 이용하여 값을 찾아내어 stack에 push한다.
코드💻
import sys
input = sys.stdin.readline
stack = []
n = int(input())
s = list(input().rstrip())
num = [0] * n
for i in range(n):
num[i] = int(input())
for i in s:
if i.isalpha():
stack.append(num[ord(i)-ord('A')])
else:
x = stack.pop()
y = stack.pop()
if i == "+":
stack.append(y+x)
elif i == "*":
stack.append(y*x)
elif i == "-":
stack.append(y-x)
elif i == "/":
stack.append(y/x)
print(format(stack[0],".2f"))
Author And Source
이 문제에 관하여([백준] 1935: 후위 표기식 2 (Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wlrhkd49/백준-1935-후위-표기식-2-Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)