advent-of-code-2021/2/part2.go
2021-12-12 11:03:48 +01:00

33 lines
460 B
Go

package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
depth := 0
position := 0
aim := 0
s := bufio.NewScanner(os.Stdin)
for s.Scan() {
tokens := strings.Split(s.Text(), " ")
direction := tokens[0]
value, _ := strconv.Atoi(tokens[1])
switch direction {
case "forward":
position += value
depth += aim * value
case "up":
aim -= value
case "down":
aim += value
}
}
fmt.Println(depth * position)
}