From 79b00adf08fbf376bb7ff818f43fc851d87f22aa Mon Sep 17 00:00:00 2001 From: Karl Spickermann Date: Thu, 2 Dec 2021 21:34:10 +0100 Subject: [PATCH] Day2 --- src/day2/day2.go | 59 +++ src/day2/day2Input.txt | 1000 ++++++++++++++++++++++++++++++++++++++++ src/day2/day2Test.txt | 6 + 3 files changed, 1065 insertions(+) create mode 100644 src/day2/day2.go create mode 100644 src/day2/day2Input.txt create mode 100644 src/day2/day2Test.txt diff --git a/src/day2/day2.go b/src/day2/day2.go new file mode 100644 index 0000000..6c1b993 --- /dev/null +++ b/src/day2/day2.go @@ -0,0 +1,59 @@ +package main + +import ( + "AOC2021/src/helper" + "fmt" + "os" + "strconv" + "strings" +) + +func main() { + args := os.Args[1:] + input, err := helper.GetInput(args[0]) + if err != nil { + fmt.Println(err) + } + //part1(input) + part2(input) +} + +func part2(input []string) { + forward := 0 + depth := 0 + aim := 0 + for _, line := range input { + seperatedLine := strings.Fields(line) + movement := seperatedLine[0] + distance, _ := strconv.Atoi(seperatedLine[1]) + switch movement { + case "forward": + forward += distance + depth += aim * distance + case "down": + aim += distance + case "up": + aim -= distance + } + } + fmt.Printf("With a forward of %d and depth of %d I get the value %d \r\n", forward, depth, (forward * depth)) +} + +func part1(input []string) { + forward := 0 + depth := 0 + for _, line := range input { + seperatedLine := strings.Fields(line) + movement := seperatedLine[0] + distance, _ := strconv.Atoi(seperatedLine[1]) + switch movement { + case "forward": + forward += distance + case "down": + depth += distance + case "up": + depth -= distance + } + } + fmt.Printf("With a forward of %d and depth of %d I get the value %d \r\n", forward, depth, (forward * depth)) +} \ No newline at end of file diff --git a/src/day2/day2Input.txt b/src/day2/day2Input.txt new file mode 100644 index 0000000..9476fa9 --- /dev/null +++ b/src/day2/day2Input.txt @@ -0,0 +1,1000 @@ +forward 6 +forward 8 +down 6 +down 6 +forward 9 +down 7 +down 3 +forward 4 +forward 7 +up 3 +forward 9 +up 4 +forward 4 +down 3 +up 2 +forward 2 +down 4 +forward 9 +up 4 +forward 8 +up 9 +forward 3 +down 7 +down 4 +down 7 +up 5 +down 5 +down 5 +forward 5 +up 9 +down 5 +down 3 +up 3 +forward 2 +forward 2 +down 2 +forward 1 +down 4 +down 1 +down 6 +down 9 +forward 4 +forward 7 +down 4 +up 7 +forward 8 +down 3 +down 6 +down 5 +down 2 +down 1 +up 9 +forward 2 +forward 3 +up 3 +forward 5 +down 4 +up 3 +up 9 +forward 6 +up 5 +up 8 +up 8 +forward 6 +up 1 +forward 4 +down 4 +forward 9 +down 9 +down 7 +forward 5 +down 7 +forward 7 +up 2 +down 9 +down 2 +forward 8 +forward 9 +down 4 +down 4 +down 7 +down 4 +down 8 +forward 4 +down 9 +down 6 +forward 8 +down 8 +down 8 +forward 7 +up 9 +forward 7 +up 3 +down 5 +forward 9 +down 7 +down 5 +down 8 +forward 5 +down 1 +down 5 +down 5 +forward 8 +down 8 +up 8 +down 6 +down 3 +forward 1 +down 2 +down 3 +up 4 +forward 8 +down 6 +up 8 +forward 2 +forward 8 +forward 9 +forward 5 +forward 5 +forward 2 +forward 1 +down 8 +forward 8 +forward 9 +up 8 +up 8 +down 7 +down 5 +forward 1 +forward 1 +up 9 +up 3 +forward 5 +down 8 +down 4 +up 2 +down 7 +down 4 +down 3 +forward 3 +forward 7 +forward 3 +forward 1 +forward 8 +down 9 +up 4 +down 8 +down 3 +down 9 +up 8 +up 6 +up 9 +up 2 +down 9 +down 9 +down 6 +up 3 +down 4 +down 3 +down 9 +forward 2 +forward 2 +forward 7 +forward 9 +up 5 +up 8 +forward 8 +down 8 +up 7 +forward 4 +up 7 +up 7 +down 9 +down 7 +down 1 +forward 4 +forward 6 +up 4 +forward 7 +up 4 +down 6 +forward 2 +up 4 +forward 2 +up 2 +down 4 +down 2 +forward 4 +forward 8 +down 9 +up 7 +forward 3 +down 5 +down 2 +down 7 +up 9 +down 2 +up 5 +down 9 +down 4 +forward 8 +forward 9 +down 7 +up 3 +down 4 +up 3 +down 3 +down 3 +up 5 +forward 7 +down 8 +down 1 +up 7 +forward 8 +forward 9 +forward 3 +forward 1 +up 4 +forward 4 +down 6 +forward 3 +down 9 +forward 2 +up 8 +down 4 +forward 7 +forward 1 +up 9 +forward 6 +down 1 +down 8 +forward 7 +forward 8 +forward 2 +up 6 +forward 3 +forward 2 +forward 7 +down 6 +up 8 +down 2 +down 8 +forward 6 +forward 1 +up 9 +down 8 +down 4 +forward 3 +down 2 +forward 1 +forward 8 +down 9 +down 9 +forward 3 +down 5 +down 5 +down 1 +down 3 +up 3 +down 6 +forward 9 +forward 7 +up 5 +forward 8 +up 1 +up 4 +down 8 +up 3 +forward 1 +up 9 +forward 5 +down 8 +down 1 +up 3 +down 1 +down 7 +forward 2 +down 9 +forward 3 +down 2 +up 5 +down 5 +forward 9 +down 2 +down 3 +forward 4 +forward 2 +down 5 +forward 9 +down 5 +forward 9 +down 9 +down 8 +forward 8 +forward 9 +down 2 +forward 4 +forward 9 +up 1 +down 2 +down 5 +forward 8 +forward 5 +up 5 +forward 2 +up 8 +forward 3 +down 2 +forward 1 +forward 7 +forward 7 +forward 1 +up 9 +down 5 +down 3 +down 7 +forward 2 +up 5 +forward 1 +forward 7 +up 7 +down 3 +up 5 +down 1 +forward 9 +down 7 +forward 4 +forward 5 +down 1 +down 5 +up 7 +forward 1 +down 4 +down 8 +down 6 +forward 8 +forward 4 +forward 2 +up 8 +down 5 +down 2 +forward 2 +down 1 +down 8 +down 5 +forward 5 +forward 8 +down 9 +forward 1 +forward 3 +down 3 +down 1 +down 5 +forward 6 +forward 6 +down 3 +forward 5 +forward 8 +down 9 +down 9 +forward 4 +forward 4 +forward 1 +forward 7 +down 6 +up 2 +down 2 +up 6 +forward 7 +forward 8 +up 3 +down 7 +up 9 +down 5 +down 7 +down 7 +forward 3 +down 3 +up 9 +up 5 +forward 4 +down 7 +down 7 +forward 1 +down 1 +down 2 +forward 8 +down 9 +down 2 +forward 3 +forward 5 +down 4 +up 7 +forward 1 +forward 4 +forward 7 +forward 1 +up 1 +down 6 +forward 2 +down 1 +forward 2 +forward 7 +forward 7 +up 3 +down 8 +forward 6 +forward 1 +down 6 +down 8 +down 1 +up 3 +up 6 +down 6 +down 1 +up 8 +forward 6 +up 6 +forward 5 +up 4 +up 7 +up 4 +down 5 +forward 2 +forward 7 +down 1 +forward 6 +down 5 +up 3 +up 4 +forward 1 +up 4 +forward 7 +up 5 +up 1 +up 2 +forward 4 +forward 2 +forward 7 +down 6 +forward 1 +up 5 +up 2 +down 8 +forward 5 +up 2 +down 9 +up 4 +down 2 +down 1 +forward 8 +down 2 +up 8 +down 8 +up 7 +up 4 +up 2 +forward 8 +up 1 +up 6 +forward 8 +forward 8 +forward 2 +down 5 +up 2 +down 1 +forward 2 +up 5 +forward 4 +forward 9 +down 1 +down 6 +forward 4 +down 3 +down 7 +down 5 +down 6 +up 6 +forward 4 +down 2 +down 4 +down 3 +forward 3 +forward 2 +up 7 +forward 7 +forward 6 +forward 3 +forward 1 +forward 8 +forward 3 +forward 2 +forward 3 +forward 9 +down 3 +forward 9 +up 9 +up 1 +down 8 +down 2 +up 9 +down 8 +forward 5 +down 8 +up 8 +down 3 +up 7 +down 3 +down 7 +up 9 +up 8 +down 5 +down 1 +forward 1 +down 9 +forward 5 +down 1 +forward 5 +forward 6 +up 2 +forward 5 +down 2 +up 3 +forward 8 +forward 9 +down 1 +up 9 +forward 6 +down 9 +down 2 +forward 2 +forward 4 +forward 9 +forward 3 +down 6 +down 9 +forward 8 +forward 3 +down 9 +up 6 +forward 5 +forward 8 +down 7 +forward 9 +forward 5 +forward 4 +forward 3 +down 9 +forward 7 +forward 7 +forward 8 +down 7 +down 3 +up 5 +forward 2 +up 6 +down 6 +down 5 +up 2 +down 1 +forward 7 +forward 3 +down 2 +up 4 +forward 8 +down 8 +down 2 +forward 8 +up 8 +forward 1 +forward 1 +down 1 +forward 4 +forward 7 +forward 2 +forward 6 +down 9 +down 2 +up 7 +up 5 +forward 4 +down 3 +down 4 +up 7 +forward 7 +up 6 +forward 6 +up 4 +forward 5 +forward 7 +forward 3 +down 2 +forward 2 +forward 2 +up 1 +down 8 +up 7 +down 4 +down 9 +forward 2 +forward 9 +down 7 +down 4 +down 8 +forward 9 +up 1 +forward 6 +forward 7 +down 3 +forward 9 +forward 3 +down 3 +up 2 +down 8 +down 7 +forward 1 +down 9 +up 3 +forward 6 +forward 1 +forward 7 +down 3 +forward 2 +forward 1 +down 8 +down 7 +forward 1 +forward 5 +down 7 +up 7 +forward 4 +down 3 +forward 7 +forward 2 +up 2 +forward 1 +up 2 +up 6 +forward 3 +forward 2 +down 3 +down 7 +down 2 +down 9 +down 6 +forward 8 +down 4 +forward 6 +up 7 +down 8 +up 5 +down 8 +up 6 +down 2 +down 1 +forward 9 +forward 8 +down 6 +down 3 +up 8 +down 1 +forward 2 +down 6 +forward 4 +forward 9 +forward 6 +down 2 +down 9 +up 3 +forward 8 +forward 1 +forward 6 +forward 8 +forward 4 +forward 8 +up 7 +down 7 +forward 7 +down 6 +forward 1 +down 9 +forward 5 +down 3 +down 6 +down 6 +down 9 +forward 8 +forward 5 +down 4 +forward 1 +down 8 +down 5 +down 5 +down 9 +forward 1 +forward 1 +forward 9 +forward 5 +down 4 +forward 3 +down 2 +forward 3 +up 7 +down 2 +down 5 +down 4 +up 2 +forward 7 +down 3 +down 4 +down 8 +down 2 +forward 3 +up 8 +down 9 +down 1 +down 2 +forward 3 +down 1 +down 7 +down 9 +forward 9 +forward 7 +down 2 +down 5 +up 8 +forward 1 +forward 2 +forward 6 +up 3 +forward 3 +down 6 +forward 1 +up 8 +down 3 +down 1 +forward 6 +up 7 +forward 3 +down 5 +down 5 +up 8 +down 4 +forward 1 +up 5 +down 4 +forward 5 +up 6 +forward 2 +up 4 +forward 9 +forward 1 +forward 9 +forward 5 +forward 9 +up 2 +forward 8 +forward 6 +down 5 +forward 9 +forward 7 +down 1 +forward 7 +forward 7 +forward 3 +up 9 +down 2 +up 7 +down 1 +up 7 +forward 6 +forward 2 +forward 5 +forward 6 +down 4 +down 8 +forward 6 +down 1 +forward 7 +up 8 +forward 7 +up 5 +down 2 +forward 9 +forward 7 +forward 8 +up 2 +down 9 +forward 5 +forward 8 +forward 5 +forward 7 +down 8 +down 8 +up 4 +down 8 +up 2 +up 6 +down 2 +forward 2 +forward 9 +forward 8 +forward 3 +up 3 +up 1 +down 3 +forward 7 +down 2 +up 2 +forward 5 +down 3 +forward 2 +forward 4 +up 2 +down 1 +down 5 +up 6 +down 7 +up 7 +up 6 +forward 5 +down 7 +forward 9 +forward 2 +up 8 +down 1 +down 6 +forward 9 +down 8 +up 7 +down 6 +forward 9 +forward 2 +down 1 +up 4 +up 7 +down 7 +up 6 +forward 4 +up 1 +forward 5 +forward 9 +down 3 +up 2 +down 3 +up 7 +down 8 +forward 1 +down 9 +down 1 +down 9 +forward 8 +down 4 +down 7 +down 7 +forward 4 +up 5 +forward 1 +forward 7 +down 9 +forward 6 +up 8 +down 5 +down 8 +up 9 +forward 6 +down 1 +forward 8 +up 8 +up 1 +up 7 +down 9 +forward 8 +down 8 +forward 4 +down 1 +down 5 +forward 9 +down 7 +forward 3 +forward 1 +forward 2 +down 9 +up 2 +up 1 +forward 6 +up 1 +down 3 +forward 3 +down 7 +down 4 +forward 2 +forward 8 +forward 7 +down 6 +up 1 +forward 8 +down 8 +forward 5 +down 4 +forward 2 +up 8 +down 5 +down 9 +forward 1 +down 8 +down 5 +forward 6 +down 1 +down 6 +up 5 +up 8 +forward 7 +forward 4 +down 5 +down 1 +forward 4 +up 9 +forward 9 +up 7 +down 4 +forward 8 +forward 5 +up 8 +down 9 +up 8 +forward 7 +down 8 +forward 4 +down 8 +up 7 +forward 4 +down 9 +forward 5 +up 7 +forward 5 +forward 9 +down 6 +up 6 +forward 2 +down 4 +down 8 +forward 9 +forward 4 +forward 6 +up 6 +down 6 +forward 6 +forward 7 +forward 5 +forward 3 +forward 7 +up 3 +down 6 +forward 2 +down 9 +up 8 +down 2 +forward 7 +down 9 +down 3 +up 9 +up 6 +down 6 +forward 8 +up 2 +up 1 +down 5 +forward 4 +down 2 +up 2 +forward 2 +forward 3 +up 5 +down 6 +forward 9 +up 3 +forward 6 +forward 4 +down 3 +up 9 +forward 1 +up 6 +down 9 +down 7 +forward 5 +down 2 +down 6 +forward 5 +forward 1 +forward 5 +forward 8 +up 2 +forward 9 +down 8 +forward 2 +down 6 +down 1 +down 9 +forward 6 \ No newline at end of file diff --git a/src/day2/day2Test.txt b/src/day2/day2Test.txt new file mode 100644 index 0000000..0ed302d --- /dev/null +++ b/src/day2/day2Test.txt @@ -0,0 +1,6 @@ +forward 5 +down 5 +forward 8 +up 3 +down 8 +forward 2 \ No newline at end of file