
😎풀이
record
: 이전 숫자 기록
operations
순회
- 연산자에 맞는 연산 수행
3-1. D
라면, 이전 숫자의 2배를 record
에 추가
3-2. C
라면, 이전 숫자 제거
3-3. +
라면, 이전 두 숫자 합 record
에 추가
3-4. 숫자라면, record
에 추가
record
의 총합 반환환
function calPoints(operations: string[]): number {
const record = []
for(const operator of operations) {
switch(operator) {
case 'D':
record.push(record.at(-1) * 2)
break
case 'C':
record.pop()
break
case '+':
record.push(record.at(-1) + record.at(-2))
break
default:
record.push(Number(operator))
}
}
return record.reduce((acc, cur) => acc + cur, 0)
};