후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요.
만약 3(5+2)-9 을 후위연산식으로 표현하면 352+9- 로 표현되며 그 결과는 12입니다.
첫 줄에 후위연산식이 주어집니다. 연산식의 길이는 50을 넘지 않습니다. 식은 1~9의 숫자와 +, -, *, / 연산자로만 이루어진다.
연산한 결과를 출력합니다.
352+*9-
12
function solution(sample_data) {
let answer = 0;
let stack = [];
let rt = 0;
let lt = 0;
for (let x of sample_data) {
if (!isNaN(x)) {
stack.push(Number(x));
} else {
rt = stack.pop();
lt = stack.pop();
if (x === '+') {
stack.push(lt + rt);
} else if (x === '-') {
stack.push(lt - rt);
} else if (x === '*') {
stack.push(lt * rt);
} else {
stack.push(lt / rt);
}
}
}
answer = stack.pop();
return answer;
}
let sample_data = '352+*9-';
console.log(solution(sample_data));