From f1449067161b35a16beb48f69e6f8536e27a7523 Mon Sep 17 00:00:00 2001 From: Henri Date: Thu, 2 Dec 2021 12:42:21 +0200 Subject: [PATCH] add 02 --- day02/day02.ps1 | 43 ++ day02/input.txt | 1000 +++++++++++++++++++++++++++++++++++++++++++++++ day02/test.txt | 6 + 3 files changed, 1049 insertions(+) create mode 100644 day02/day02.ps1 create mode 100644 day02/input.txt create mode 100644 day02/test.txt diff --git a/day02/day02.ps1 b/day02/day02.ps1 new file mode 100644 index 0000000..7de15a7 --- /dev/null +++ b/day02/day02.ps1 @@ -0,0 +1,43 @@ +param( + [parameter(mandatory=$true)] + $path +) + +$commands = gc $path | % { + if ($_ -match '(?forward|up|down) (?\d+)') { + [pscustomobject] @{ + command = $Matches["command"]; + amt = [int]$Matches["amt"]; + } + } +} + +echo "question 1" + +$position = 0 +$depth = 0 + +foreach ($c in $commands) { + switch ($c.command) { + "forward" { $position += $c.amt } + "up" { $depth -= $c.amt } + "down" { $depth += $c.amt } + } +} + +echo "position: $position, depth: $depth, answer: $($position * $depth)" + +echo "question 2" + +$position = 0 +$depth = 0 +$aim = 0 + +foreach ($c in $commands) { + switch ($c.command) { + "forward" { $position += $c.amt; $depth += $aim * $c.amt } + "up" { $aim -= $c.amt } + "down" { $aim += $c.amt } + } +} +echo "position: $position, depth: $depth, answer: $($position * $depth)" diff --git a/day02/input.txt b/day02/input.txt new file mode 100644 index 0000000..04dd8e1 --- /dev/null +++ b/day02/input.txt @@ -0,0 +1,1000 @@ +forward 4 +forward 6 +down 8 +forward 3 +forward 9 +down 7 +down 7 +down 1 +forward 1 +forward 5 +up 4 +forward 3 +forward 9 +forward 5 +down 8 +forward 6 +forward 8 +up 4 +forward 1 +forward 4 +up 3 +down 2 +down 2 +up 8 +forward 9 +down 5 +down 6 +down 4 +forward 1 +forward 7 +down 1 +forward 2 +down 7 +down 6 +forward 3 +forward 1 +down 7 +forward 3 +up 7 +up 1 +forward 6 +down 8 +down 4 +down 1 +down 7 +forward 9 +down 2 +forward 9 +up 4 +down 7 +forward 9 +forward 9 +up 4 +up 7 +up 2 +forward 1 +down 9 +forward 2 +forward 8 +forward 5 +down 9 +forward 5 +up 1 +forward 8 +down 6 +down 1 +down 1 +down 8 +down 6 +down 4 +down 6 +forward 7 +forward 5 +forward 4 +up 8 +up 4 +forward 6 +forward 9 +forward 6 +down 2 +up 8 +forward 3 +forward 8 +down 5 +forward 1 +down 6 +down 7 +up 4 +down 8 +forward 6 +up 4 +forward 7 +down 8 +down 8 +down 2 +down 8 +up 7 +forward 7 +forward 6 +down 2 +forward 9 +down 7 +down 4 +forward 1 +up 9 +down 6 +up 7 +down 6 +down 2 +down 2 +forward 3 +down 8 +forward 4 +down 7 +down 2 +up 8 +down 6 +forward 2 +forward 2 +down 6 +up 6 +down 7 +up 5 +up 4 +up 9 +forward 9 +forward 7 +down 4 +down 4 +up 5 +down 2 +forward 3 +down 9 +down 5 +forward 8 +up 3 +forward 7 +forward 9 +down 3 +forward 1 +up 1 +forward 5 +down 8 +down 2 +forward 3 +down 6 +down 8 +up 9 +down 9 +forward 4 +up 5 +forward 8 +forward 7 +forward 7 +down 3 +down 5 +forward 8 +down 1 +down 2 +forward 2 +up 9 +down 3 +down 9 +forward 2 +down 4 +up 9 +up 3 +down 1 +down 1 +forward 6 +down 5 +down 9 +forward 2 +up 5 +forward 3 +down 1 +down 7 +forward 1 +forward 1 +down 7 +up 3 +up 1 +up 6 +forward 9 +up 1 +down 8 +down 5 +up 6 +up 2 +down 8 +forward 3 +forward 1 +down 7 +up 1 +down 9 +down 9 +up 8 +forward 4 +up 8 +forward 8 +down 5 +forward 5 +forward 2 +forward 1 +forward 5 +down 8 +forward 6 +forward 8 +down 5 +forward 8 +up 1 +up 9 +up 7 +down 5 +down 9 +up 4 +down 7 +up 8 +up 3 +forward 6 +down 9 +forward 4 +down 4 +forward 2 +forward 3 +down 4 +down 5 +down 3 +forward 9 +forward 5 +forward 9 +forward 4 +down 5 +down 7 +down 5 +forward 8 +up 5 +down 2 +forward 3 +forward 4 +down 5 +up 8 +forward 5 +down 2 +up 4 +down 5 +down 2 +forward 1 +up 3 +down 6 +down 8 +down 3 +forward 1 +up 5 +forward 1 +down 3 +forward 4 +down 6 +forward 8 +forward 4 +forward 1 +down 8 +down 2 +forward 8 +down 5 +forward 2 +forward 2 +down 9 +forward 1 +forward 8 +up 1 +forward 1 +down 1 +down 7 +down 4 +up 4 +down 3 +forward 1 +forward 9 +down 9 +up 6 +up 8 +down 2 +down 2 +down 3 +forward 2 +forward 9 +down 1 +up 9 +down 3 +down 9 +down 1 +down 7 +forward 9 +forward 7 +down 5 +down 2 +down 9 +down 2 +down 7 +up 7 +down 2 +up 3 +up 5 +forward 8 +up 7 +forward 1 +down 9 +down 9 +down 1 +forward 6 +down 7 +up 4 +up 4 +down 9 +up 5 +up 8 +down 3 +down 5 +forward 6 +up 3 +down 8 +down 5 +forward 9 +up 6 +forward 9 +forward 5 +up 6 +up 9 +down 2 +up 5 +forward 9 +down 1 +up 1 +down 9 +forward 4 +forward 4 +forward 8 +down 5 +down 3 +down 7 +forward 5 +down 6 +forward 3 +down 5 +down 5 +up 5 +forward 8 +forward 1 +forward 2 +forward 6 +up 1 +down 5 +down 4 +up 5 +forward 3 +forward 2 +forward 2 +forward 2 +forward 7 +forward 8 +down 2 +up 8 +forward 4 +down 4 +forward 7 +down 6 +down 7 +forward 5 +down 5 +forward 1 +down 8 +forward 6 +down 1 +forward 3 +up 3 +down 7 +down 2 +up 4 +down 3 +up 2 +up 8 +down 2 +forward 5 +forward 3 +down 9 +down 9 +up 2 +forward 6 +forward 9 +down 1 +forward 6 +down 4 +up 2 +down 7 +down 3 +down 3 +forward 2 +down 5 +down 9 +down 7 +forward 7 +forward 9 +up 8 +down 8 +down 3 +up 5 +down 9 +forward 8 +forward 8 +down 1 +forward 5 +forward 2 +forward 7 +down 9 +down 7 +forward 6 +up 9 +forward 3 +forward 5 +up 7 +down 9 +forward 9 +forward 4 +forward 5 +forward 9 +forward 8 +forward 1 +forward 2 +forward 8 +down 7 +forward 3 +up 2 +up 7 +forward 1 +forward 3 +forward 9 +up 3 +down 2 +forward 3 +forward 6 +forward 3 +forward 3 +forward 3 +forward 1 +forward 1 +up 5 +down 5 +up 5 +down 5 +down 5 +forward 8 +forward 1 +down 4 +forward 7 +down 6 +down 1 +down 2 +down 2 +down 6 +up 8 +forward 3 +forward 2 +up 8 +up 2 +forward 1 +forward 6 +forward 5 +forward 6 +forward 7 +down 8 +forward 1 +down 4 +forward 2 +up 4 +forward 4 +down 1 +forward 5 +down 7 +forward 7 +up 7 +forward 1 +down 2 +forward 8 +forward 5 +up 8 +up 8 +up 2 +down 9 +forward 2 +down 4 +down 3 +down 5 +down 5 +down 2 +up 5 +forward 6 +up 7 +forward 8 +up 7 +down 4 +forward 1 +down 3 +forward 2 +forward 1 +down 2 +up 7 +forward 5 +up 8 +up 1 +down 4 +forward 6 +down 4 +up 9 +forward 5 +down 2 +down 7 +down 7 +forward 4 +forward 4 +forward 9 +down 1 +forward 6 +forward 1 +up 9 +forward 4 +forward 4 +forward 8 +forward 3 +forward 4 +down 3 +up 5 +up 1 +forward 3 +down 6 +down 4 +down 2 +forward 3 +forward 8 +up 6 +up 3 +forward 8 +down 3 +down 6 +forward 1 +up 7 +down 4 +down 5 +up 7 +forward 3 +up 4 +forward 9 +forward 6 +down 3 +forward 4 +down 6 +forward 1 +forward 6 +forward 4 +forward 2 +forward 1 +forward 3 +forward 1 +down 1 +down 9 +down 5 +down 7 +down 4 +down 8 +up 1 +down 6 +down 1 +forward 4 +down 9 +up 9 +down 6 +forward 6 +forward 8 +up 7 +forward 4 +down 3 +forward 9 +forward 6 +forward 8 +down 1 +up 2 +down 2 +down 8 +forward 4 +down 9 +down 3 +forward 5 +down 9 +down 4 +up 5 +down 8 +down 4 +down 9 +up 4 +down 5 +down 7 +down 3 +up 1 +up 1 +down 4 +down 6 +forward 8 +down 8 +down 6 +forward 6 +forward 9 +forward 3 +forward 3 +down 2 +down 4 +forward 3 +up 5 +up 3 +down 5 +down 1 +forward 5 +forward 7 +forward 1 +forward 4 +forward 5 +forward 1 +down 7 +down 8 +up 9 +down 8 +down 5 +up 3 +down 5 +down 5 +forward 8 +down 2 +forward 7 +forward 7 +down 1 +forward 2 +forward 7 +forward 5 +down 6 +forward 5 +down 5 +forward 4 +down 8 +forward 7 +up 5 +forward 5 +down 7 +down 7 +up 4 +forward 8 +up 1 +forward 3 +forward 7 +down 2 +forward 1 +down 4 +up 8 +forward 3 +forward 1 +forward 6 +forward 3 +up 4 +forward 3 +down 3 +forward 7 +forward 9 +forward 8 +down 6 +down 8 +up 6 +down 9 +forward 7 +forward 1 +up 4 +forward 5 +forward 8 +down 7 +down 9 +up 6 +up 6 +forward 9 +down 1 +forward 8 +down 9 +down 5 +forward 6 +forward 1 +down 4 +forward 8 +down 9 +down 4 +forward 5 +forward 7 +forward 3 +down 2 +forward 6 +forward 3 +forward 8 +down 1 +down 5 +up 6 +down 2 +down 1 +up 3 +down 7 +up 1 +forward 8 +down 6 +down 6 +forward 8 +up 3 +forward 8 +up 3 +forward 3 +forward 7 +forward 1 +down 1 +up 5 +forward 5 +forward 9 +forward 5 +forward 1 +forward 4 +down 8 +forward 2 +up 3 +forward 3 +down 9 +forward 2 +forward 6 +forward 3 +up 8 +up 1 +down 6 +forward 3 +down 4 +down 5 +forward 6 +forward 9 +down 4 +down 9 +down 7 +down 1 +up 3 +up 6 +forward 4 +forward 5 +down 1 +forward 3 +up 5 +forward 7 +down 9 +forward 5 +down 5 +down 1 +down 1 +down 1 +up 8 +down 4 +down 9 +forward 5 +down 5 +up 5 +up 3 +forward 1 +forward 7 +down 2 +forward 6 +forward 5 +up 4 +up 4 +forward 1 +down 7 +down 8 +up 3 +down 3 +up 4 +forward 2 +up 4 +up 4 +forward 8 +forward 1 +forward 2 +forward 7 +down 6 +forward 8 +forward 9 +forward 6 +forward 9 +down 3 +up 3 +forward 5 +down 1 +forward 1 +forward 4 +forward 2 +down 6 +up 7 +forward 9 +down 2 +up 5 +forward 6 +down 9 +down 6 +down 8 +forward 2 +down 7 +forward 6 +down 8 +forward 3 +forward 7 +forward 6 +down 7 +down 6 +forward 5 +up 8 +forward 6 +down 1 +up 9 +forward 6 +down 6 +down 5 +down 6 +up 2 +down 3 +down 7 +down 3 +forward 4 +up 9 +up 2 +forward 1 +forward 7 +forward 7 +forward 9 +forward 8 +forward 7 +down 3 +forward 4 +forward 8 +down 9 +forward 2 +forward 2 +up 9 +up 7 +forward 2 +down 8 +down 3 +down 1 +forward 1 +forward 3 +down 2 +forward 7 +up 4 +down 7 +down 1 +forward 8 +forward 2 +up 1 +down 5 +forward 8 +up 5 +up 7 +forward 4 +forward 7 +up 4 +up 3 +forward 5 +forward 9 +forward 1 +forward 3 +down 9 +up 2 +forward 8 +down 3 +forward 3 +forward 2 +down 8 +down 2 +down 3 +forward 1 +up 7 +down 1 +forward 3 +forward 8 +down 3 +down 9 +up 1 +down 9 +up 7 +up 7 +forward 7 +forward 7 +up 8 +down 2 +down 7 +down 1 +forward 5 +forward 5 +forward 7 +down 8 +forward 5 +down 9 +down 8 +forward 3 +up 9 +forward 3 +up 6 +forward 7 +up 7 +forward 3 +forward 2 +down 1 +down 4 +forward 1 +forward 8 +up 5 +down 5 +up 1 +down 5 +up 1 +up 6 +forward 5 +forward 5 +down 3 +down 3 +forward 2 +up 3 +up 2 +down 6 +down 5 +down 1 +down 1 +up 6 +forward 2 +forward 2 +up 4 +up 6 +up 6 +down 8 +up 2 +forward 4 +down 3 +forward 3 +up 4 +down 5 +forward 6 +forward 7 +up 6 +down 3 +down 7 +up 4 +down 2 +up 2 +forward 1 +down 8 +down 1 +down 1 +up 9 +down 1 +down 1 +up 1 +forward 8 +forward 4 +down 4 +forward 1 +down 4 +up 7 +forward 7 +forward 3 +down 4 +forward 9 +forward 1 +down 3 +down 2 +forward 7 +up 1 +forward 3 +up 3 +down 3 +down 7 +up 3 +up 4 +forward 7 +down 2 +up 2 +down 9 +up 1 +forward 3 +up 8 +up 8 +down 8 +down 1 +up 8 +up 4 +down 6 +forward 8 diff --git a/day02/test.txt b/day02/test.txt new file mode 100644 index 0000000..b7172ac --- /dev/null +++ b/day02/test.txt @@ -0,0 +1,6 @@ +forward 5 +down 5 +forward 8 +up 3 +down 8 +forward 2