LeetCode - 682. Baseball Game

henu·2023년 10월 30일
0

LeetCode

목록 보기
132/186

Solution

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)
};

Explanation

스택을 이용하면 쉽게 해결할 수 있다. 문제의 조건에 맞춰 하나하나 if문으로 분기해주면 크게 어렵지 않다.
모든 연산을 수행한 후 reduce를 사용해서 합을 구해주면 끝이다.

0개의 댓글