Skip to main content

후위식 연산(postfix)

문제#

후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요. 만약 3(5+2)-9 을 후위연산식으로 표현하면 352+9- 로 표현되며 그 결과는 12입니다.

로직#

function solution(s){      var answer;    var stack=[];    for(var x of s){        if(!isNaN(x)) stack.push(Number(x));        else{            var rt=stack.pop();            var lt=stack.pop();            if(x==='+') stack.push(lt+rt);            else if(x==='-') stack.push(lt-rt);            else if(x==='*') stack.push(lt*rt);            else if(x==='/') stack.push(lt/rt);        }    }    answer=stack[0];    return answer;}
var str="352+*9-";console.log(solution(str));