From e29c8b94eb7f06bfdfe94ca8e1357eb39b9cc02e Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Sun, 9 Jan 2022 18:36:33 +0000 Subject: [PATCH] 2021 day 2 --- 2021/02/input | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++ 2021/02/part1 | 25 ++ 2021/02/part2 | 27 ++ 3 files changed, 1052 insertions(+) create mode 100644 2021/02/input create mode 100755 2021/02/part1 create mode 100755 2021/02/part2 diff --git a/2021/02/input b/2021/02/input new file mode 100644 index 0000000..6533ce2 --- /dev/null +++ b/2021/02/input @@ -0,0 +1,1000 @@ +forward 4 +down 8 +down 3 +down 1 +forward 8 +up 6 +down 4 +forward 2 +down 4 +down 6 +down 7 +forward 1 +down 4 +down 6 +forward 7 +down 2 +up 8 +up 3 +forward 1 +forward 2 +down 3 +down 8 +forward 6 +forward 5 +down 4 +down 1 +up 5 +down 5 +down 2 +up 6 +forward 4 +forward 3 +down 8 +down 9 +up 2 +forward 1 +forward 2 +down 1 +forward 3 +down 7 +up 6 +down 1 +down 7 +down 5 +forward 8 +down 5 +down 1 +down 7 +up 9 +forward 6 +up 8 +down 3 +down 9 +down 3 +forward 2 +forward 1 +forward 4 +down 7 +up 8 +down 1 +up 1 +forward 4 +down 7 +forward 5 +forward 2 +forward 1 +up 8 +down 2 +up 6 +down 7 +down 4 +up 6 +forward 2 +forward 8 +down 8 +down 2 +forward 2 +forward 9 +down 1 +forward 5 +down 4 +forward 4 +down 2 +down 1 +forward 7 +down 1 +down 5 +down 5 +up 5 +forward 7 +forward 6 +forward 3 +forward 9 +forward 3 +forward 5 +down 8 +down 9 +forward 7 +up 5 +up 7 +down 5 +up 9 +forward 9 +up 8 +up 2 +forward 5 +down 2 +forward 2 +down 4 +up 4 +down 2 +up 3 +up 8 +down 3 +down 4 +down 7 +forward 3 +forward 9 +down 1 +down 2 +down 5 +down 1 +forward 2 +forward 2 +up 8 +down 4 +forward 7 +up 6 +down 9 +down 6 +up 1 +down 2 +forward 6 +down 4 +up 1 +forward 3 +down 4 +down 1 +up 8 +forward 3 +down 5 +up 2 +down 8 +down 4 +up 2 +down 2 +forward 6 +up 4 +up 2 +down 2 +forward 7 +down 5 +forward 2 +forward 8 +up 3 +forward 5 +up 6 +down 4 +down 1 +down 8 +down 2 +forward 8 +up 2 +down 5 +up 8 +down 1 +down 1 +down 5 +up 4 +down 1 +down 3 +down 8 +forward 6 +down 9 +forward 6 +up 2 +forward 1 +forward 9 +down 9 +down 3 +down 9 +down 6 +down 4 +down 8 +forward 1 +down 1 +forward 2 +up 2 +forward 8 +down 1 +up 6 +down 4 +down 3 +forward 8 +up 7 +down 6 +down 1 +down 2 +forward 1 +up 5 +up 7 +down 6 +down 4 +down 5 +forward 9 +down 7 +down 9 +down 5 +forward 9 +forward 7 +forward 9 +forward 8 +up 4 +forward 5 +down 7 +forward 8 +up 1 +forward 3 +forward 2 +forward 2 +down 7 +forward 9 +down 7 +down 9 +forward 6 +forward 8 +up 5 +up 8 +up 7 +up 6 +forward 7 +down 6 +down 5 +down 3 +forward 7 +down 7 +forward 6 +down 4 +down 2 +down 9 +down 2 +up 8 +down 8 +down 3 +down 4 +forward 3 +up 6 +down 9 +forward 1 +down 3 +forward 9 +down 6 +forward 9 +forward 8 +forward 5 +up 2 +forward 5 +up 7 +down 6 +forward 6 +down 8 +forward 2 +down 7 +down 8 +up 1 +forward 3 +forward 5 +down 3 +forward 8 +up 7 +forward 9 +forward 6 +forward 1 +forward 7 +down 5 +forward 3 +down 5 +down 6 +down 7 +down 3 +down 8 +up 5 +forward 2 +forward 5 +up 7 +up 4 +forward 1 +forward 1 +down 1 +down 7 +forward 4 +up 8 +forward 5 +down 9 +up 7 +forward 8 +down 4 +forward 4 +forward 6 +down 8 +forward 7 +down 1 +forward 9 +down 9 +up 1 +down 6 +forward 6 +down 7 +down 4 +forward 6 +forward 3 +down 5 +up 5 +up 7 +up 5 +down 6 +forward 7 +up 3 +down 2 +forward 6 +down 8 +down 7 +up 9 +forward 3 +forward 1 +down 8 +forward 6 +forward 4 +up 9 +forward 3 +down 1 +forward 4 +forward 9 +forward 2 +forward 8 +forward 1 +forward 2 +forward 7 +down 6 +forward 6 +up 2 +forward 5 +up 8 +down 9 +up 8 +down 5 +down 1 +down 6 +up 4 +down 4 +down 5 +up 6 +down 8 +down 8 +forward 9 +forward 8 +forward 2 +down 2 +up 3 +forward 2 +down 8 +down 8 +forward 3 +forward 5 +down 9 +down 2 +forward 6 +forward 7 +down 7 +forward 4 +forward 2 +down 1 +down 6 +up 5 +down 2 +forward 3 +forward 9 +down 9 +down 3 +forward 3 +forward 6 +down 2 +forward 5 +forward 7 +down 6 +forward 4 +down 6 +forward 6 +forward 3 +forward 3 +forward 8 +down 4 +up 4 +down 6 +down 4 +down 9 +forward 7 +forward 4 +forward 7 +down 3 +forward 1 +down 7 +down 3 +forward 1 +down 7 +down 5 +forward 6 +up 7 +down 7 +forward 5 +forward 5 +up 9 +down 7 +forward 1 +forward 2 +down 4 +down 8 +down 7 +forward 4 +forward 4 +forward 3 +down 8 +down 7 +down 8 +forward 2 +down 2 +forward 2 +forward 4 +up 6 +down 4 +up 3 +forward 7 +down 9 +down 3 +forward 3 +down 2 +down 2 +up 5 +down 4 +forward 3 +forward 3 +up 7 +forward 8 +forward 6 +down 3 +forward 2 +down 6 +up 1 +down 7 +down 7 +forward 8 +up 1 +up 8 +up 4 +up 1 +forward 4 +forward 9 +down 9 +down 5 +down 3 +forward 8 +down 3 +forward 4 +down 6 +down 9 +down 3 +forward 6 +up 1 +up 4 +forward 9 +down 3 +up 1 +forward 4 +up 1 +forward 8 +down 9 +up 1 +forward 3 +down 7 +down 7 +down 3 +forward 7 +forward 5 +down 8 +up 8 +down 6 +down 4 +forward 9 +down 9 +up 5 +forward 6 +down 8 +up 8 +down 2 +forward 1 +down 8 +down 2 +forward 7 +forward 2 +down 2 +forward 5 +up 2 +down 6 +down 1 +down 6 +down 3 +up 4 +forward 4 +forward 8 +down 3 +forward 9 +forward 6 +down 2 +up 2 +down 2 +up 4 +down 8 +forward 5 +down 4 +forward 3 +down 4 +forward 6 +down 8 +down 2 +up 7 +down 3 +down 6 +up 1 +forward 8 +up 5 +down 1 +forward 3 +down 2 +down 5 +up 5 +up 2 +down 2 +down 2 +down 4 +forward 3 +up 7 +forward 8 +forward 4 +down 3 +forward 8 +down 4 +down 9 +down 7 +up 3 +up 4 +down 4 +forward 3 +down 3 +up 5 +down 1 +forward 4 +forward 9 +forward 3 +forward 3 +up 6 +down 3 +forward 3 +up 7 +down 3 +up 7 +up 2 +up 2 +down 9 +forward 4 +forward 7 +forward 7 +down 7 +forward 2 +forward 1 +down 9 +forward 2 +down 2 +down 4 +up 3 +forward 8 +up 3 +down 7 +forward 9 +down 7 +forward 2 +down 1 +up 9 +forward 7 +forward 9 +up 4 +forward 3 +forward 1 +down 5 +down 6 +forward 9 +down 9 +forward 2 +forward 8 +forward 4 +forward 9 +down 5 +down 9 +down 3 +down 7 +up 2 +up 7 +forward 6 +down 3 +down 2 +up 1 +forward 4 +down 1 +up 4 +up 8 +down 9 +down 5 +down 7 +forward 4 +down 1 +forward 8 +down 5 +forward 7 +down 3 +up 2 +forward 4 +down 1 +forward 4 +up 5 +forward 9 +down 1 +forward 7 +up 3 +up 9 +forward 4 +up 5 +down 6 +forward 2 +down 1 +forward 1 +down 9 +forward 5 +down 2 +up 3 +down 5 +up 4 +down 5 +down 8 +down 8 +down 3 +forward 9 +forward 2 +down 3 +down 3 +down 6 +down 8 +forward 9 +down 4 +down 1 +forward 4 +down 9 +forward 1 +down 9 +up 6 +up 7 +up 8 +forward 5 +down 3 +up 5 +up 1 +down 8 +forward 1 +forward 7 +up 9 +down 7 +forward 4 +down 5 +forward 2 +down 6 +up 8 +down 1 +down 6 +down 9 +down 8 +forward 8 +down 4 +up 2 +down 2 +forward 9 +up 6 +down 3 +forward 5 +forward 9 +up 2 +up 5 +down 5 +forward 2 +forward 3 +forward 2 +up 2 +down 2 +forward 9 +up 4 +down 4 +up 1 +down 1 +down 6 +down 6 +forward 2 +up 6 +up 9 +forward 7 +forward 4 +down 6 +down 5 +down 5 +down 9 +forward 7 +down 1 +up 5 +forward 4 +up 8 +up 8 +down 4 +down 7 +forward 1 +forward 8 +down 3 +up 3 +up 3 +up 4 +down 1 +down 8 +up 6 +up 8 +forward 2 +down 2 +down 3 +forward 4 +forward 3 +forward 6 +down 1 +up 6 +forward 2 +forward 6 +forward 2 +forward 5 +down 1 +up 4 +forward 7 +down 6 +forward 8 +up 9 +down 5 +up 3 +forward 8 +forward 1 +forward 9 +up 9 +forward 4 +forward 5 +down 1 +up 9 +down 5 +down 7 +forward 8 +down 1 +forward 3 +forward 2 +down 9 +down 1 +forward 5 +up 6 +down 7 +forward 4 +down 6 +forward 1 +forward 8 +up 4 +forward 5 +down 8 +forward 6 +up 2 +forward 3 +forward 5 +up 6 +up 8 +up 4 +forward 6 +down 2 +down 6 +down 5 +up 2 +down 3 +down 7 +up 6 +forward 2 +forward 3 +up 6 +forward 3 +up 8 +forward 6 +down 8 +down 7 +down 1 +down 6 +up 8 +up 9 +down 4 +forward 2 +forward 7 +down 8 +up 6 +up 8 +up 8 +down 4 +forward 9 +down 5 +forward 5 +forward 3 +down 1 +forward 1 +up 9 +down 1 +down 6 +up 6 +forward 7 +forward 1 +down 5 +down 2 +forward 5 +down 3 +down 4 +forward 6 +up 6 +down 9 +up 3 +forward 1 +up 3 +down 5 +up 4 +down 4 +forward 9 +up 5 +down 1 +forward 4 +down 8 +up 1 +forward 9 +forward 8 +up 4 +up 3 +up 5 +forward 5 +up 7 +forward 5 +forward 4 +forward 6 +forward 9 +down 6 +down 3 +up 5 +forward 2 +up 9 +down 4 +down 2 +forward 5 +up 6 +forward 1 +up 5 +up 3 +down 4 +forward 3 +forward 6 +up 4 +up 6 +down 3 +down 2 +up 3 +down 9 +up 7 +forward 6 +up 4 +forward 7 +down 4 +up 6 +down 6 +forward 9 +forward 4 +up 2 +forward 7 +up 5 +forward 2 +forward 2 +down 4 +down 4 +forward 3 +down 4 +up 3 +forward 9 +down 5 +forward 6 +forward 9 +forward 9 +up 6 +down 9 +forward 8 +up 7 +up 5 +down 6 +forward 6 +forward 1 +down 6 +forward 5 +down 2 +down 1 +forward 6 +down 6 +down 9 +down 5 +forward 1 +down 7 +down 7 +down 4 +forward 7 +up 5 +up 1 +up 2 +up 5 +down 3 +forward 9 +forward 2 +forward 8 +up 4 +forward 7 +forward 6 +forward 9 +down 2 +down 6 +forward 4 +down 9 +down 9 +up 3 +forward 2 +forward 1 +down 5 +up 9 +down 6 +forward 6 +down 8 +forward 3 +forward 5 +forward 3 +forward 2 +down 7 +down 2 +up 8 +forward 9 +down 8 +up 7 +down 4 +up 3 +forward 6 +down 3 +up 3 +down 6 +down 3 +up 2 +down 4 +down 4 +up 2 +down 6 +down 5 +down 9 +down 1 +down 7 +up 9 +down 4 +up 6 +down 6 +forward 9 +forward 2 +down 8 +down 3 +forward 4 +forward 4 +forward 5 +down 2 +down 8 +down 1 +up 4 +forward 9 +up 7 +forward 5 +down 5 +up 9 +down 2 +down 2 +forward 4 +forward 4 +forward 8 diff --git a/2021/02/part1 b/2021/02/part1 new file mode 100755 index 0000000..3e72099 --- /dev/null +++ b/2021/02/part1 @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +depth = 0 +hPos = 0 + +with open('input') as f: + window = [] + for line in f: + cmd, numStr = line.split(" ", 2) + num = int(numStr) + + # match...case is python 3.10+ + if cmd == "forward": + hPos = hPos + num + elif cmd == "backward": + hPos = hPos - num + elif cmd == "up": + depth = depth - num + elif cmd == "down": + depth = depth + num + else: + raise "unknown command: "+cmd + +print(depth * hPos) + diff --git a/2021/02/part2 b/2021/02/part2 new file mode 100755 index 0000000..e6f1acc --- /dev/null +++ b/2021/02/part2 @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +depth = 0 +hPos = 0 +aim = 0 + +with open('input') as f: + window = [] + for line in f: + cmd, numStr = line.split(" ", 2) + num = int(numStr) + + # match...case is python 3.10+ + if cmd == "forward": + hPos = hPos + num + depth = depth + (aim*num) + elif cmd == "backward": + hPos = hPos - num + elif cmd == "up": + aim = aim - num + elif cmd == "down": + aim = aim + num + else: + raise "unknown command: "+cmd + +print(depth * hPos) +