import "strconv"
func calPoints(ops []string) int {
scores := make([]int, 0, len(ops))
for _, str := range ops {
if str == "C" {
if len(scores) >= 1 {
scores = scores[:len(scores)-1]
}
} else if str == "D" {
if len(scores) >= 1 {
scores = append(scores, 2 * scores[len(scores)-1])
}
} else if str == "+" {
sum := 0
if len(scores) >= 1 {
sum += scores[len(scores)-1]
}
if len(scores) >= 2 {
sum += scores[len(scores)-2]
}
scores = append(scores, sum)
} else {
score, _ := strconv.Atoi(str)
scores = append(scores, score)
}
}
sum := 0
for _, s := range scores {
sum += s
}
return sum
}