func evalRPN(tokens []string) int {
queue := make([]int, 0)
for _, item := range tokens {
last := len(queue) - 1
switch item {
case "+":
val1, val2 := queue[last], queue[last-1]
queue = append(queue[:last-1], val2+val1)
case "-":
val1, val2 := queue[last], queue[last-1]
queue = append(queue[:last-1], val2-val1)
case "*":
val1, val2 := queue[last], queue[last-1]
queue = append(queue[:last-1], val2*val1)
case "/":
val1, val2 := queue[last], queue[last-1]
queue = append(queue[:last-1], val2/val1)
default:
data, _ := strconv.Atoi(item)
queue = append(queue, data)
}
}
return queue[0]
}