파이썬으로 풀어본 백준 1935 후위표기식 2
후위표기식 1 문제 와 달리 이번 문제는 구현이 조금 더 쉬웠다.
주의해야할 부분은
알파벳에 값을 직접 대입해서 사용하는 부분인데.
입력 값만 보고 A는 무조건 1이라는 착각을 하면 안된다.
대신
파이썬의 내장함수 ord() 를 사용해서 입력 값배열에 접근해서 대입해야한다.
그리고 마지막으로 소숫점 2자리수 까지 출력하는것도 잊으면 안됨
import string
n = int(input())
strn = list(input())
alpha = [0] * n
for i in range(n):
alpha[i] = (int(input()))
stack=[]
for s in strn:
if s.isalpha():
stack.append(alpha[ord(s) - ord('A')])
else:
n2 = stack.pop()
n1 = stack.pop()
if s == '+' :
stack.append(n1+n2)
elif s == '-':
stack.append(n1-n2)
elif s == '*':
stack.append(n1*n2)
elif s == '/':
stack.append(n1/n2)
print(format(stack[0], ".2f"))
'알고리즘' 카테고리의 다른 글
파이썬 DFS 등산경로 문제 (0) | 2021.06.29 |
---|---|
[파이썬 15651] 백준 N과 M (3) DFS 중복순열 (0) | 2021.05.19 |
[파이썬] 백준1918 후위표기식 python (0) | 2021.05.07 |
[백준 2156 파이썬] 포도주 시식 (0) | 2021.03.12 |
[백준 11399 파이썬] ATM (0) | 2021.03.11 |
댓글