complete 1918(후위 표기법)

This commit is contained in:
2020-08-21 16:48:31 +09:00
parent 463ef8b729
commit 67d4252e13
4 changed files with 59 additions and 44 deletions

View File

@@ -0,0 +1,26 @@
I = input()
stack = []
priority = {"*": 3, "/": 3, "+": 2, "-": 2, "(": 1}
for i in I:
if i in "*/+-()":
if len(stack) == 0:
stack.append(i)
continue
if i == ")":
while stack[-1] != "(":
print(stack.pop(), end='')
stack.pop()
elif i == "(":
stack.append(i)
else:
while priority[stack[-1]] >= priority[i]:
print(stack.pop(), end='')
if len(stack) == 0:
break
stack.append(i)
else:
print(i, end='')
else:
for s in stack[::-1]:
print(s, end='')