Skip to content

Commit fff8d93

Browse files
committed
leetcode.com 150. Evaluate Reverse Polish Notation
문제 링크: https://leetcode.com/problems/evaluate-reverse-polish-notation
1 parent 268864e commit fff8d93

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def evalRPN(self, tokens: List[str]) -> int:
6+
stk = []
7+
8+
for t in tokens:
9+
if t in ['+', '-', '*', '/']:
10+
v2, v1 = stk.pop(), stk.pop()
11+
12+
if t == '+':
13+
v = v1 + v2
14+
elif t == '-':
15+
v = v1 - v2
16+
elif t == '*':
17+
v = v1 * v2
18+
else: # t == '/':
19+
v = v1 / v2
20+
v = int(v)
21+
22+
stk.append(v)
23+
else:
24+
stk.append(int(t))
25+
26+
return stk[0]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from unittest import TestCase
2+
from main import Solution
3+
4+
class TestSolution(TestCase):
5+
def test3_eval_rpn(self):
6+
sln = Solution()
7+
self.assertEqual(22, sln.evalRPN(["10","6","9","3","+","-11","*","/","*","17","+","5","+"]))

0 commit comments

Comments
 (0)