백준 - 1935

Giho Kim·2023년 9월 16일

코테 연습

목록 보기
6/26

문제

  1. 후위표현식이란 해당 보기를 예로 들자면 (A + (B * C)) - (D / E) 이런식으로 진행됨
  2. stack구조로 알파벳이면 append 아니면 2개를 뺀 후 사칙연산한다.
T = int(input())

str_val = input()
num_lst = [0] * T
for i in range(T):
  num_lst[i] = int(input())

stack = []

for i in str_val:
  if 'A' <= i <= 'Z':
    stack.append(num_lst[ord(i) - ord('A')])
  else:
    second_pop = stack.pop()
    f_pop = stack.pop()
    if i == "-":
      stack.append(f_pop - second_pop)
    elif i == "+":
      stack.append(f_pop + second_pop)
    elif i == "*":
      stack.append(f_pop * second_pop)
    else:
      stack.append(f_pop / second_pop)
  
print('%.2f' %stack[0])
profile
취준돌이 개발자 김기호

0개의 댓글