var calPoints = function(operations) {
const stack = []
for(let op of operations) {
if(op === '+') {
const scr = stack[stack.length-1] + stack[stack.length-2]
stack.push(scr)
} else if(op === 'D') {
const scr = stack[stack.length-1] * 2
stack.push(scr)
} else if(op === 'C') {
stack.pop()
} else {
stack.push(+op)
}
}
return stack.reduce((acc, cur) => acc + cur, 0)
};
스택을 이용하면 쉽게 해결할 수 있다. 문제의 조건에 맞춰 하나하나 if문으로 분기해주면 크게 어렵지 않다.
모든 연산을 수행한 후 reduce를 사용해서 합을 구해주면 끝이다.