Browse Source

Solved part1

Piotr Czajkowski 2 years ago
parent
commit
504922edff
2 changed files with 1025 additions and 1 deletions
  1. 25 1
      02/code.go
  2. 1000 0
      02/input

+ 25 - 1
02/code.go

@@ -43,11 +43,35 @@ func readInput(file string) []move {
 	return moves
 }
 
+var actions map[string]int
+
+func init() {
+	actions = make(map[string]int)
+	actions["forward"] = 1
+	actions["down"] = 1
+	actions["up"] = -1
+}
+
+func part1(moves []move) int {
+	position := 0
+	depth := 0
+
+	for _, move := range moves {
+		if move.direction == "forward" {
+			position += move.steps * actions[move.direction]
+		} else {
+			depth += move.steps * actions[move.direction]
+		}
+	}
+
+	return position * depth
+}
+
 func main() {
 	if len(os.Args) < 2 {
 		log.Fatal("No input file specified")
 	}
 
 	moves := readInput(os.Args[1])
-	fmt.Println(moves)
+	fmt.Println("Part 1:", part1(moves))
 }

+ 1000 - 0
02/input

@@ -0,0 +1,1000 @@
+forward 1
+down 9
+down 4
+forward 4
+down 2
+down 7
+up 9
+down 5
+forward 9
+forward 9
+down 2
+forward 7
+forward 9
+down 5
+down 2
+up 9
+down 7
+forward 6
+down 6
+down 6
+up 1
+down 2
+forward 8
+forward 8
+forward 9
+up 1
+forward 4
+up 1
+forward 3
+forward 5
+up 3
+up 7
+down 4
+down 1
+forward 3
+forward 4
+up 3
+forward 9
+down 2
+forward 5
+up 2
+up 1
+up 5
+forward 1
+up 9
+forward 6
+up 4
+down 4
+forward 3
+up 7
+down 1
+down 1
+down 8
+forward 3
+forward 1
+up 7
+up 1
+down 4
+up 6
+down 6
+forward 8
+down 3
+down 9
+down 6
+up 8
+forward 8
+down 9
+up 7
+down 7
+forward 8
+down 8
+up 6
+down 7
+down 4
+up 7
+forward 7
+forward 7
+forward 2
+forward 5
+down 5
+down 9
+down 8
+down 5
+up 3
+down 3
+down 6
+down 6
+forward 1
+down 2
+forward 2
+down 5
+up 2
+forward 5
+down 1
+down 3
+forward 4
+down 2
+forward 8
+down 6
+forward 3
+forward 3
+forward 9
+down 9
+down 4
+down 8
+down 7
+down 3
+up 6
+down 7
+forward 9
+up 9
+down 8
+forward 9
+forward 8
+down 2
+up 4
+forward 8
+up 7
+down 2
+forward 6
+forward 7
+down 5
+up 4
+down 3
+down 3
+down 5
+down 2
+down 5
+forward 8
+forward 8
+down 5
+up 4
+down 6
+forward 5
+up 6
+up 5
+down 4
+forward 7
+forward 5
+down 7
+up 9
+up 4
+up 9
+forward 8
+down 8
+down 8
+down 2
+down 8
+down 8
+up 6
+forward 2
+down 9
+forward 5
+forward 4
+down 8
+up 5
+forward 3
+forward 1
+down 6
+forward 9
+forward 2
+forward 1
+up 5
+down 2
+forward 5
+up 6
+up 6
+forward 9
+up 3
+forward 2
+forward 9
+down 9
+down 5
+up 4
+up 7
+up 8
+forward 4
+forward 3
+down 7
+down 5
+forward 5
+down 6
+forward 9
+up 4
+up 6
+down 2
+forward 6
+forward 7
+up 9
+up 5
+down 4
+up 5
+down 2
+forward 4
+up 9
+down 1
+forward 7
+down 9
+forward 5
+down 5
+down 2
+up 4
+up 8
+down 8
+down 7
+up 7
+down 1
+forward 5
+forward 8
+down 2
+down 1
+forward 8
+down 7
+up 6
+forward 9
+forward 4
+down 8
+forward 1
+up 8
+forward 3
+up 4
+forward 9
+down 6
+forward 5
+forward 1
+forward 8
+forward 5
+forward 8
+down 4
+forward 8
+forward 2
+forward 8
+forward 3
+down 3
+forward 6
+up 6
+up 9
+down 4
+down 6
+forward 6
+down 9
+up 2
+down 8
+down 6
+down 1
+forward 1
+down 2
+down 3
+forward 5
+forward 6
+down 5
+up 7
+up 2
+forward 2
+down 4
+down 4
+forward 3
+down 4
+up 4
+forward 1
+down 4
+forward 9
+forward 7
+forward 6
+down 3
+down 4
+forward 3
+forward 3
+forward 3
+up 6
+forward 4
+forward 7
+forward 3
+forward 5
+forward 7
+forward 4
+down 1
+up 2
+up 7
+forward 4
+down 2
+forward 2
+up 7
+down 7
+forward 5
+forward 9
+down 8
+forward 5
+forward 5
+down 9
+forward 1
+forward 6
+down 2
+down 3
+down 1
+down 7
+down 3
+up 3
+down 3
+forward 5
+down 4
+forward 6
+forward 2
+down 4
+forward 4
+up 5
+up 3
+forward 2
+forward 5
+down 7
+up 9
+up 5
+down 3
+forward 8
+forward 4
+down 8
+up 4
+forward 8
+forward 7
+forward 1
+down 2
+down 6
+up 7
+forward 9
+down 2
+down 4
+down 3
+down 8
+up 4
+down 2
+up 3
+forward 1
+down 2
+up 6
+down 9
+up 3
+down 1
+down 1
+forward 4
+down 2
+forward 3
+forward 5
+forward 7
+down 7
+up 3
+up 5
+down 1
+down 2
+forward 4
+down 1
+down 1
+down 7
+up 4
+forward 3
+down 3
+forward 2
+down 3
+up 7
+down 1
+up 5
+down 7
+forward 4
+up 2
+forward 5
+up 4
+down 4
+down 3
+forward 1
+up 9
+down 5
+forward 9
+forward 1
+down 7
+down 2
+down 4
+down 2
+forward 3
+down 1
+down 2
+up 9
+forward 2
+down 8
+forward 1
+forward 3
+down 5
+down 4
+forward 2
+forward 8
+forward 9
+down 9
+down 6
+up 3
+forward 1
+down 6
+down 7
+up 3
+forward 9
+down 2
+up 4
+forward 3
+forward 6
+forward 6
+down 7
+forward 7
+forward 6
+down 7
+up 9
+forward 7
+down 1
+down 8
+down 2
+down 2
+down 9
+down 6
+forward 1
+down 9
+forward 9
+forward 8
+forward 6
+forward 9
+down 5
+forward 9
+forward 4
+forward 4
+down 6
+forward 6
+forward 5
+forward 7
+down 7
+down 9
+forward 4
+down 9
+up 5
+forward 6
+down 6
+forward 9
+up 7
+forward 6
+up 6
+up 9
+forward 9
+up 4
+down 3
+up 9
+down 8
+down 2
+forward 4
+down 8
+down 2
+forward 2
+down 5
+up 3
+down 1
+forward 4
+down 3
+forward 3
+down 9
+forward 6
+forward 6
+down 9
+forward 6
+forward 1
+down 5
+up 1
+forward 3
+forward 1
+forward 5
+down 8
+forward 7
+forward 2
+up 3
+forward 8
+forward 1
+forward 7
+down 1
+down 4
+forward 7
+forward 9
+forward 4
+down 2
+forward 5
+forward 3
+forward 9
+forward 3
+up 3
+forward 9
+down 3
+forward 9
+forward 3
+forward 7
+down 5
+forward 6
+down 6
+forward 5
+forward 1
+down 1
+forward 8
+down 3
+up 1
+down 6
+forward 7
+up 5
+up 7
+down 3
+forward 8
+up 8
+down 4
+up 6
+up 7
+forward 1
+forward 2
+forward 7
+down 1
+forward 4
+down 8
+up 6
+up 7
+up 4
+down 7
+down 8
+down 6
+forward 5
+forward 9
+down 7
+forward 8
+down 9
+down 9
+forward 5
+forward 2
+up 4
+down 2
+forward 3
+down 2
+forward 1
+down 7
+down 6
+forward 5
+up 2
+forward 4
+down 4
+forward 5
+forward 7
+up 5
+down 7
+forward 9
+forward 3
+forward 6
+up 8
+down 9
+forward 1
+up 8
+forward 3
+down 6
+down 1
+down 3
+down 4
+up 2
+up 3
+forward 8
+up 7
+down 2
+forward 1
+down 6
+forward 1
+down 8
+forward 3
+forward 5
+forward 5
+up 5
+forward 4
+forward 6
+down 8
+up 7
+forward 8
+up 6
+forward 5
+down 4
+forward 8
+down 3
+forward 7
+forward 9
+forward 8
+up 9
+forward 4
+up 5
+up 8
+down 8
+forward 1
+down 1
+forward 3
+forward 9
+down 9
+up 2
+forward 5
+down 1
+down 6
+forward 2
+forward 2
+down 2
+down 8
+forward 5
+up 2
+up 2
+forward 3
+down 6
+up 2
+down 2
+down 1
+up 9
+forward 6
+up 4
+forward 4
+down 2
+forward 8
+up 9
+down 1
+forward 9
+up 3
+up 7
+forward 5
+down 9
+down 2
+down 5
+up 4
+up 8
+up 2
+down 1
+up 4
+forward 8
+forward 2
+down 8
+forward 9
+forward 1
+down 5
+forward 3
+down 6
+forward 3
+up 2
+down 9
+down 6
+down 4
+down 9
+down 8
+forward 2
+forward 7
+up 4
+forward 8
+up 9
+up 6
+forward 2
+down 1
+down 5
+down 5
+down 3
+up 9
+up 9
+forward 9
+forward 5
+down 1
+down 3
+down 8
+down 4
+forward 5
+up 4
+down 2
+down 5
+down 4
+down 8
+down 2
+forward 9
+forward 7
+up 9
+forward 8
+down 9
+down 2
+forward 5
+down 9
+forward 7
+down 2
+down 9
+forward 4
+up 7
+down 9
+forward 6
+forward 2
+down 1
+down 9
+down 3
+down 7
+down 8
+down 5
+down 9
+down 1
+up 9
+down 7
+forward 7
+up 4
+down 2
+down 4
+forward 6
+forward 8
+forward 1
+forward 2
+up 2
+up 2
+forward 9
+down 9
+forward 8
+forward 6
+forward 5
+down 2
+forward 7
+up 3
+up 8
+forward 1
+forward 5
+down 7
+down 7
+forward 5
+down 1
+up 3
+up 8
+forward 5
+forward 7
+forward 3
+down 6
+up 7
+forward 8
+down 5
+up 3
+forward 7
+down 2
+down 1
+down 1
+forward 1
+down 1
+down 8
+down 3
+up 1
+forward 8
+forward 9
+forward 5
+forward 8
+down 2
+forward 3
+down 5
+up 9
+down 9
+down 5
+forward 1
+up 9
+up 4
+up 7
+up 9
+up 4
+down 2
+forward 6
+forward 4
+up 5
+up 6
+down 8
+down 6
+down 6
+up 3
+forward 3
+down 9
+down 5
+down 5
+forward 7
+down 6
+forward 7
+down 9
+down 8
+down 3
+down 7
+down 4
+down 1
+forward 6
+up 7
+down 1
+forward 7
+down 2
+forward 4
+down 3
+forward 6
+up 7
+forward 3
+down 3
+up 6
+down 2
+down 4
+down 8
+forward 6
+down 4
+forward 7
+down 2
+forward 9
+down 3
+down 6
+down 3
+down 6
+forward 4
+down 8
+up 5
+down 6
+forward 6
+down 6
+forward 9
+up 8
+down 7
+up 1
+forward 4
+up 3
+forward 9
+up 6
+forward 4
+up 8
+forward 2
+down 7
+down 7
+forward 1
+up 9
+up 7
+forward 3
+down 1
+up 5
+forward 3
+forward 1
+forward 3
+forward 7
+down 6
+down 1
+forward 9
+up 1
+up 1
+down 8
+down 7
+forward 1
+up 8
+up 6
+down 8
+forward 1
+up 3
+down 7
+forward 7
+down 7
+forward 4
+forward 6
+up 2
+down 9
+forward 9
+down 4
+up 2
+forward 7
+forward 4
+up 8
+up 5
+down 8
+forward 7
+forward 6
+down 1
+up 5
+up 5
+down 3
+forward 7
+forward 1
+forward 7
+forward 1
+down 3
+forward 3
+forward 4
+forward 6
+down 3
+up 4
+up 5
+down 8
+up 3
+forward 4
+forward 6
+forward 8
+forward 4
+forward 7
+down 9
+up 3
+down 1
+up 4
+forward 8
+forward 5
+forward 4
+forward 1
+down 2
+down 7
+down 6
+forward 4
+forward 2
+up 2
+down 2
+forward 2
+forward 2
+up 6
+forward 6
+forward 1
+forward 8
+up 7
+forward 4
+forward 2
+down 2
+down 1
+forward 4
+down 4
+up 7
+up 2
+up 3
+down 5
+forward 2
+forward 9
+down 2
+down 9
+down 4
+down 8
+up 9
+up 5
+up 2
+forward 6
+down 6
+forward 9
+forward 7
+forward 8
+forward 4
+up 9
+forward 9
+down 8
+down 2
+forward 5
+down 8
+down 8
+forward 8
+forward 6
+forward 7
+down 8
+forward 1
+forward 6
+down 4
+forward 1
+down 3
+forward 1
+down 8
+forward 2
+down 4
+down 6
+down 4
+up 9
+forward 6
+up 3
+down 7
+forward 3
+down 8
+forward 6
+forward 3
+down 1
+forward 1
+up 6
+down 1
+down 2
+forward 5
+down 3
+up 5
+forward 6
+forward 7
+forward 2
+forward 9
+down 7
+up 4
+forward 6
+forward 8
+down 6
+down 7
+down 4
+down 5
+down 6
+down 3
+up 1
+forward 2
+forward 3
+down 1
+down 7
+up 8
+forward 1
+forward 6
+up 3
+down 1
+up 6
+down 2
+up 1
+up 7
+forward 3
+up 8
+forward 7
+forward 5
+forward 5