From 0a4e8cde6e128772715e8eae76b5f90fc9a0f616 Mon Sep 17 00:00:00 2001 From: Jonas Date: Mon, 29 May 2023 09:17:12 +0200 Subject: [PATCH] add Day2 --- Day2/Submarine.ts | 61 +++ Day2/input.txt | 1000 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1061 insertions(+) create mode 100644 Day2/Submarine.ts create mode 100644 Day2/input.txt diff --git a/Day2/Submarine.ts b/Day2/Submarine.ts new file mode 100644 index 0000000..4cf7838 --- /dev/null +++ b/Day2/Submarine.ts @@ -0,0 +1,61 @@ +import { readLines } from "https://deno.land/std@0.177.1/io/read_lines.ts"; + +async function Part1() { + const file = await Deno.open("./Day2/input.txt"); + + let depth = 0; + let position = 0; + + for await (const line of readLines(file)) { + const commands = line.split(" "); + switch(commands[0]) { + case "forward": { + position += +commands[1]; + break; + } + case "down": { + depth += +commands[1]; + break; + } + case "up": { + depth -= +commands[1]; + break; + } + } + } + + return position * depth; +} + +async function Part2() { + const file = await Deno.open("./Day2/input.txt"); + + let depth = 0; + let position = 0; + let aim = 0; + + for await (const line of readLines(file)) { + const commands = line.split(" "); + switch(commands[0]) { + case "forward": { + position += +commands[1]; + depth += aim * +commands[1]; + break; + } + case "down": { + aim += +commands[1]; + break; + } + case "up": { + aim -= +commands[1]; + break; + } + } + } + + return position * depth; +} + +console.log("Part1: " + await Part1()); + +console.log("Part1: " + await Part2()); \ No newline at end of file diff --git a/Day2/input.txt b/Day2/input.txt new file mode 100644 index 0000000..64f1ce2 --- /dev/null +++ b/Day2/input.txt @@ -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