
문제풀이
/**
* @param {string[]} tokens
* @return {number}
*/
var evalRPN = function(tokens) {
//우선은 case 별로 계산하는거 함수 만들어야됨
function Notation (operator,a,b) {
switch (operator){
case '+':
return a+b
case '-':
return a-b
case '*':
return a*b;
case '/':
return Math.trunc(a / b);
default:
}
}
let stack=[];
tokens.forEach((el)=>{
if(isNaN(el)){
// 기호 라면. stack 에서 2개를 뽑아서 해결하기
let first= stack.pop();
let second= stack.pop();
let result= Notation(el,second,first);
stack.push(result);
}
else{
//숫자라면
stack.push(parseInt(el))
}
})
return stack[0]
};