From 54a60fcb7de2644ea8cf5848174324322ca7b4c9 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Fri, 2 Dec 2022 12:01:20 +0100 Subject: [PATCH] Day 02 --- day02/input.txt | 2500 ++++++++++++++++++++++++++++++++++++++++++++ day02/part1.min.py | 2 + day02/part1.py | 16 + day02/part2.min.py | 2 + day02/part2.py | 17 + 5 files changed, 2537 insertions(+) create mode 100644 day02/input.txt create mode 100644 day02/part1.min.py create mode 100644 day02/part1.py create mode 100644 day02/part2.min.py create mode 100644 day02/part2.py diff --git a/day02/input.txt b/day02/input.txt new file mode 100644 index 0000000..69dff16 --- /dev/null +++ b/day02/input.txt @@ -0,0 +1,2500 @@ +B Z +C Z +C Z +A Y +B Z +C Y +C Z +C Y +C X +A Z +B Z +C Z +A Y +C Z +B X +C Y +C Z +C X +C X +C Y +C Y +C X +A Y +C Y +C Y +C X +C Z +C X +A X +C Z +C Y +C Z +C Z +C Z +A Z +C Z +B Z +A Y +A X +A Y +C Z +A Y +C Z +A Z +C Y +C Y +C Y +A X +C X +C X +C Y +A X +A Y +C X +A X +C Z +A Y +C Z +C Y +A Y +C Z +A X +A Y +A X +C X +C Z +A X +B Z +C Z +C Y +C X +C X +C Z +C X +C Z +A X +C Y +A Y +C Y +C Z +C X +B X +B Z +C Z +C X +A X +B Z +A Y +A Y +B Z +A Y +C Y +B Z +B X +C X +C X +C X +A X +A Z +A Y +A Y +C Y +C Z +C Z +C Z +A Y +C X +A Y +A X +C X +C X +A X +A Y +A X +A X +A Y +C Y +A Y +A Y +A X +C X +B Z +A X +C Y +C X +C Z +C Z +C Z +C Z +C Y +C X +C X +A X +A Y +A X +C Z +C X +C Y +C Y +C Z +C Z +B Z +C Z +C Y +C X +C Y +A X +A Y +C X +B Z +B Y +C Z +C Y +C X +A Y +C Y +B Z +A Z +C X +C Z +C Y +C X +C Z +A X +A Y +C Y +C Y +A Y +A X +A X +C X +C X +C Z +A Y +A Y +C Y +C Z +A X +A Y +C X +C X +C Y +C X +C Z +C X +C Z +C Z +C Z +C Z +A Y +B Z +C Y +C Z +A Z +C X +C X +A X +A Z +C Z +C X +C Z +A X +B Z +B Z +A X +C X +C X +B Z +B Z +B Z +C Z +C X +A Y +C Z +A X +C Y +C Z +C Z +C X +C X +C Z +C Y +C Y +C X +C X +A X +C Y +A X +C Y +C X +B X +B Z +C X +C X +B X +C Z +C Y +A X +C Z +C Z +C Z +C Y +C X +A Y +A Z +C Z +B Z +C Z +C X +A Y +C X +C X +A X +C X +C Z +A X +C Z +C Y +C Y +C Y +C Z +A X +C Y +C X +C Z +A X +C Z +C X +C X +C X +A Y +C Z +A Y +C Z +C Y +C Z +A Y +C X +C X +C X +C Y +C Z +C X +C Y +C X +A X +C X +C Y +C X +C Z +C X +B Z +C X +B Z +B X +C X +C X +C X +B X +A Y +A Y +A X +B Z +C X +A Z +C Y +C X +C X +C Y +A Y +A Z +C X +A Y +C Z +C X +C X +C Y +C Y +A Z +A X +C Z +C X +C Z +B Y +A Y +C Z +A Y +C Z +A X +C Y +C Y +C X +A Y +C X +C X +B X +C Z +C X +C Y +C Z +C Z +C Y +C Y +C Y +C X +B Z +C X +C X +C Y +C Y +C Z +B Z +C X +C Y +B Z +C Z +A Y +C X +C X +A Y +C Y +C Z +C X +A Y +A Y +C Z +C Z +C Z +A X +C X +C Z +C Z +C Z +A Y +A X +C X +C Z +C X +C X +C Y +A Y +C X +C Y +C Z +C Y +A X +C X +C X +C Z +A X +B X +C Y +A X +C Y +C Y +C X +C Z +B X +C X +C Z +A Y +C Z +C X +A X +C Y +A X +C Z +A X +C X +C Y +C X +C Z +C X +C X +C Y +A X +C Y +A Y +C Z +C X +C X +A X +A Z +C X +C X +C Y +B Z +A X +A X +C X +B Z +C Z +A Y +C Y +C Z +C X +A Z +C Y +A X +C Y +C Z +C Z +C X +C Y +C X +C Y +C Y +C X +A Y +B X +C X +A X +A Y +C Y +C Z +C Y +C X +A Y +C Z +C X +C X +A Z +C Y +C Z +A X +C X +C Z +A Y +A X +B X +C Z +B Z +C X +A Z +C Z +A X +A Y +C X +A X +B Z +C X +C Y +C Z +C Y +C Y +C Z +C X +B X +C Y +B Y +C Z +A Y +A Y +C Y +C Z +A X +C Z +C Y +B Z +C X +A X +C X +C X +C Y +C Y +C Z +A Y +C Z +A X +A Y +C X +C Y +C Z +C X +A X +B Z +C Z +A X +C X +C X +C X +B Z +C Z +C Y +B Z +A X +C Z +C Y +A X +C X +B Z +C Y +C X +C Z +C Z +C Z +C X +C Y +B X +A X +B Z +C X +C Y +C Z +C X +C Z +C Z +C Z +C Y +A X +C X +C Z +A X +C X +C Z +B X +C Z +B Z +A Y +A X +C Z +C Z +C Y +C Z +C Y +C Z +A Y +B Z +A Y +C X +A X +A X +A X +B Z +C Z +B Y +C Y +A Y +A Y +C Z +A Y +C Z +C Z +A Y +C Z +C Z +C Z +A Y +C Z +C Z +C Z +C Z +A Y +C Y +A Y +C Y +C X +C X +C Z +C X +C Z +C Y +A X +C Z +B X +C Z +A X +C Z +C Z +C Y +C Z +C Y +C X +C Y +B X +C Z +C X +C Y +A Y +C X +C Z +C X +C Z +C X +A Z +C Z +C X +C X +B Z +C Z +C X +A X +C Y +A Y +C X +C Z +C Z +A Y +A X +B Y +C Y +C Y +C Y +C X +A X +C Z +C Y +C Z +C X +C Z +C Z +C Y +B X +C X +C Z +C X +C X +C Y +A X +B Z +A X +C X +C Z +B Z +A Y +C Y +B Z +C X +A Z +A X +C Z +C Z +C X +A Y +B Y +C X +C Z +B Y +A Y +A Y +C X +A X +C Y +C X +C X +C Z +A X +A X +A X +B Z +C Y +C Z +C X +A X +B Z +C Z +C Z +C X +C X +C X +C X +C Z +C Y +C Z +C Z +C Z +A Y +C Z +C X +C Y +C X +B Y +A Y +C Z +C X +C Z +A X +A X +C Y +C Y +C X +C Z +C Z +C Z +C X +C Z +C X +C Y +C X +C X +C Y +C Y +B Z +C Z +C Z +B Z +C Y +C Z +C Y +B Z +C X +C Z +C Y +C Z +A Y +C Z +B Z +C Z +C X +C X +A Z +C Z +C X +A Y +A Z +A X +C Y +C X +C Z +C X +C X +C Y +C X +C Z +C X +C Y +C Y +C Z +C Y +C Y +C Y +A Z +A Y +C Z +C Y +C Z +C X +A X +C Z +C Z +A Y +C Z +C X +C X +C X +C Z +C X +C Z +C Y +A Z +C Z +C Y +C Z +C X +C Y +C Y +C X +C X +C Z +A Y +C Y +B Z +A Y +C Y +C X +C Z +C X +C Y +C Z +A Y +A X +C Z +B Y +C Y +A X +C Y +C Z +B Z +C Y +C Z +C Z +B Z +C X +A Y +C Z +C X +B Y +B Z +C Z +B Z +C X +A X +A X +B Z +C Z +C Z +C Z +C Y +A Y +C Z +B X +C Y +A Z +C Y +C Y +A Y +C X +C Y +B Z +C X +C X +C X +B Z +C X +B Z +A X +C Y +C Y +A X +C X +A Y +C X +A X +C Z +A X +C X +C X +A Y +C Z +C Z +C X +C X +B Z +A Y +C Y +C X +A Y +C Z +A X +C X +B Z +C X +C X +B X +B X +B Z +C Z +C X +A Y +B Z +B Y +C X +C Z +A Y +C Z +C X +C X +B Z +C X +A Y +A X +A Z +C Z +C Y +B Z +C X +A X +C X +A X +C X +C X +C Z +A X +B Z +C Z +C X +C X +A X +C Z +C X +C X +C Z +C Y +C X +A X +C X +C X +C X +A X +C Z +C Z +C Y +B Z +C X +A Y +C Z +C X +C Y +B X +A X +C X +B Z +C Y +B X +A Y +B X +C Z +C Y +C X +C Z +A Y +A Y +C X +A X +C X +C X +A Y +A X +B X +C Y +A Y +C X +C Z +A Y +C Z +B Z +C Z +A X +C Y +C Y +C Y +A Y +A Z +A Y +C X +C X +A Y +C Y +A X +C Y +A Y +C X +C Y +B Z +C Z +C Z +B X +C Y +B X +A Y +A Y +A X +A Y +C Z +C Z +C Y +B Z +A Z +C X +C Z +A X +C X +C X +C Z +C Y +C X +A Y +C Z +B Z +A Y +A X +C Y +B X +C Z +A Y +C X +C Y +C X +A X +C Z +C Z +C X +C Z +A X +C X +C X +A Z +B Z +A X +C Y +C X +A X +C X +C Z +C Y +A Y +C X +A Y +A X +C Y +A Y +C X +A Y +C X +B Z +C X +C X +C X +C Z +C Z +C Z +B Z +C X +B Z +C X +A X +A Y +A Y +A X +C Y +A X +C Y +A Y +B Z +C X +C X +C Y +C X +C Z +A X +A Y +C Z +A X +C X +C X +B X +C X +A Y +C X +C Z +B Z +A X +B Z +C Y +C Z +C Y +C Y +C X +C Z +C Z +C Z +A X +C X +A X +A Y +A X +C Z +C Z +A Z +C Y +B Z +A X +C Z +C Z +C X +C X +A X +A Z +C Z +C X +C X +C Y +C Y +C Y +A Y +A Y +C Z +A X +C Z +C X +A X +C Y +C Z +C Y +A X +A Y +A X +C Z +B Z +C Z +A X +C X +C Y +C X +C X +C Y +C Z +C Z +C Y +C X +A Y +C Y +C Z +B Z +C Y +C Y +A X +C Z +B Z +C X +B Z +B Z +C Z +C X +C Z +A X +C Z +C X +A Y +A X +A Y +C Z +C Z +C Z +C Z +C X +B Z +C Y +C X +B Z +C X +A X +A Y +C X +A Z +A Y +A X +C Y +C Z +C Y +C Z +B Z +C Y +C X +A Y +B Z +C Z +C Z +C Y +C X +C Z +A Y +C Y +A Y +C Z +B Z +C Z +A X +C Z +C Z +C Y +C X +C Y +A X +C Y +C Z +C X +A X +B Z +C Y +C X +C Z +C Y +A X +C X +A Y +A Y +C X +C Z +C Y +B Z +B X +C Y +C X +C X +C Z +C Y +C X +C Z +C Y +A X +B Y +A X +A Y +C X +A X +A X +A X +C Y +B X +B Z +C Z +C X +C Z +A Y +C Y +C X +B Z +A X +C X +A Y +C X +C X +C X +B Z +C Z +C X +B X +C Z +C Y +C X +C Y +C Z +C Z +C Z +A X +C X +C X +C X +B Z +C Z +A Y +C X +B Z +B Z +A Y +A Y +B Z +C X +C Y +A X +C Y +C X +C Y +C Y +C X +B Z +C Z +C Z +C Z +C Y +A Y +C Z +C Y +A X +C X +C Z +C Y +A Y +C Z +C X +B Z +C X +C Z +C Z +C Y +A X +A Y +C Z +A Y +C Z +C X +C Z +C Z +A X +A X +C X +B Z +B Z +C Y +A Y +C X +C X +C Z +C Z +A Y +C Y +C Z +A X +C X +C Y +A Y +C X +C X +A Z +C X +C Y +C Z +C X +B Z +C X +A X +C Z +C Z +A X +C Z +C Y +C Z +C Z +A Y +C X +C X +C X +C Y +C Z +C X +C X +C Y +B Z +A X +C X +A Y +B Z +A Y +A X +A X +B X +C Y +A Y +C Y +C Z +A X +C X +A Y +A Y +C Z +C X +C Z +C Z +C Z +C Z +A Y +A Y +A X +C X +A Y +C Y +A X +C X +C X +C X +B Z +C Z +B Z +A X +C Z +C Z +C Y +C X +C X +C X +C Y +A Z +B X +B Z +C X +B Z +A X +A Y +C Z +B Y +C X +C X +A Y +C Y +C Y +C Z +C X +A X +B Z +C X +A X +A X +C X +A X +C Y +B X +C Z +C Z +C Z +C Z +C X +C Z +C X +C Z +C Z +A X +C Z +C X +B Z +A Y +C Z +B Z +C Y +C X +C X +C Z +C Y +C X +C Z +C X +B X +C Z +A Y +C X +B Z +A Y +A X +C X +C X +B Z +C Y +C Z +C X +C Z +C Z +C Z +B X +C X +C X +C Y +B Z +A Y +C Y +C Z +A Z +A Y +C Z +C Y +C Y +A X +B Z +B Z +C X +A X +C Z +B Z +C Z +C Y +C Z +C Y +A X +C X +C Y +C X +B X +C Y +A Y +C X +C Z +A Z +C Y +A X +C Z +C Y +B Z +C Y +C Z +A Y +C Z +C X +A Y +C X +C Z +C X +B Z +C X +A X +C Z +C Z +C X +C Z +C X +C Z +C Z +A Z +A X +B Z +B X +C Z +C X +B Z +C X +C Y +C Z +C Z +A X +A X +C Y +B Z +A X +C X +C Z +A Z +A Z +C Z +C Y +C X +C Y +C Z +A Z +A X +A Y +C X +C Z +A Y +C Y +A Y +A X +C Z +C X +C Z +C X +B Z +A Y +C X +A X +C X +B X +C X +A X +C X +A X +C Y +A Y +C X +A Y +C X +C Z +C X +B Z +A X +C Z +A X +C Z +C Z +C Y +C Z +C Y +C X +A Y +C X +A X +C Z +C X +A Y +C Y +C X +C X +C Z +C X +C Y +C X +C X +C X +C X +A Y +A Y +A Y +C Z +C X +B Y +B Y +A Y +C Z +C X +A Y +C Z +C Y +C X +C Z +A X +C Z +C Z +C Y +A X +A X +C Z +C X +C X +C X +C Z +C Z +A Y +C Y +A X +B Z +C Z +C Y +C Z +A X +C Z +C X +C X +A Y +C Z +C X +C Z +C Z +A Y +C Y +C Z +A X +C Y +C Z +A X +C X +A X +C X +C Z +C X +C Z +C Z +C Y +C Y +A Y +C Y +A X +C Y +C X +C Z +C X +A X +C X +A X +A Y +A X +C Z +A X +C Y +C X +A Y +C Z +C Z +C X +B X +C Z +C Y +A Y +B Z +C Y +C X +B Z +C X +A Y +A X +A X +A X +C X +A X +C X +C Z +C X +A X +C Y +A Y +C X +C Z +C X +C Z +C Y +C X +A X +C X +C Y +A Y +A X +B Z +C Y +B Z +C Y +C X +A Y +C X +C Z +C X +C Y +A X +C Y +C Y +C Z +C Y +C X +C Z +C X +C X +C X +C Z +C X +A Y +A Y +C X +C Z +B Z +C X +C Y +C X +C X +C Z +C Z +C X +C X +A Z +A X +C X +B Z +C Z +C Y +C Z +C X +C X +C X +C Z +C X +A X +A X +C Z +C X +A Z +C X +A X +A X +C Z +A X +A Y +C Z +A Z +A Y +C Y +C X +A Y +A X +C Z +C X +A Y +B Z +C Z +A X +C Z +C X +A X +A Y +C Z +C Y +C Z +C Z +B Z +C X +C Z +C Z +C Y +C X +C Z +C X +C X +B Z +B Z +A Y +B X +B Z +C Z +A Z +C Y +C X +C Z +C X +C X +A X +C X +A Y +B X +C Z +C Y +C X +C Z +C Y +C Y +C X +B Z +C X +B Z +C Y +C Y +C Y +C X +C X +A X +A X +A X +C Z +A X +C Z +C X +C Y +C Z +C Y +A Y +C Y +A X +A Y +C Y +C Z +C Z +A Y +C X +C X +A X +C Y +C X +C Y +A X +C X +C Y +C Z +C Z +B Z +A Y +C X +B Z +C Y +A X +C Z +C X +C Z +B X +C Z +C Z +C Z +C X +C Z +C Z +C X +C Z +C Z +B X +A X +C Y +C Z +A Y +C Y +C Z +C Z +C X +A Y +A X +C Y +C Y +A Y +C Z +C X +C X +C X +A Y +C X +B X +C Z +C Z +C X +C Z +C X +A Y +A Z +C Z +C Z +B X +C Y +A Z +A Y +C Z +C X +C Z +C X +A X +A Y +C Y +A X +C Z +C X +C Z +B X +C X +C Z +B Z +C Z +C Y +C Y +A X +C Z +C X +C Y +C Z +C Z +A Y +C Z +C Y +C Y +A X +B Z +C Z +A X +C Y +C Y +C Z +A X +C X +C Z +C X +C X +C Z +C Y +C X +C Z +B Z +C Y +A X +A X +C X +C Z +A X +C X +B Z +C Y +C Z +C Y +C X +C Z +B Y +C X +C Z +A X +C X +A X +C X +C Z +B Z +C Z +C Z +A Z +C Y +C X +A X +C Z +A X +A Y +C X +C Z +C Y +A Y +C Y +C X +A X +C X +C Y +C X +C X +C Z +C Z +C X +C Z +A X +A X +C X +C Z +B Z +A X +C X +C Z +C Y +C X +B Z +C X +C X +C X +B X +C Y +A Y +C Z +A Z +A Y +A Y +C Y +B Z +C Z +C Y +C X +C Z +C X +B Z +B X +A X +A Z +A Y +C Z +C Y +C Y +C X +B Y +C Y +C X +C X +B X +C Y +C Z +B Z +C X +C Y +A Y +C Z +C X +C Z +A X +C Z +A X +A Y +C Y +A Y +C Y +C Z +A X +C Y +C Y +C X +B X +C Z +C X +C Z +C Z +C Z +C X +C Z +C Y +C X +C Y +C X +C X +C X +C X +A Y +C X +A Y +C X +C Z +A X +A Z +C Z +C X +C X +C X +C X +B Z +C Z +C Z +C Y +C X +C Z +C X +B Z +B Z +C Z +C Z +C X +C X +C Z +B Z +C X +A Y +C X +C Z +C X +C Y +C Z +C Z +C X +C Z +A Y +A Y +C X +C Z +C Z +C X +C X +B Z +C X +C Z +C Z +C X +C Z +A X +C Z +B Z +C Z +A Y +C Z +C X +C X +B Z +A Y +C Z +A Y +C Y +A Z +C X +A X +C X +A Y +C Z +C X +C Z +C Z +C X +C Z +A X +B Z +C Y +C Z +C Z +C X +C Z +B Z +C Y +C Z +C Z +A X +B Z +A X +B Z +C X +C Z +A Z +A Z +C X +A X +A X +B Z +A Y +A Y +A Z +C X +C Z +C Z +C X +C X +C X +A X +C X +C Z +C Y +C Z +C X +C Z +C X +A X +A Y +C X +A X +C X +B Z +B Z +B X +C X +A X +B X +C X +A Y +C Z +C Y +C Z +C X +A X +A Y +C Z +B Z +C X +B Z +C Z +B Z +A X +A X +C Y +B Z +C X +B Z +A Y +C Z +A Y +C Z +C X +A Z +C Z +C Z +B Z +A Y +B Z +C Y +C X +A Y +A X +A X +C X +C Y +B Z +C X +C Z +C Z +A X +A Y +C X +C Y +B Z +C Z +C X +A X +C Z +C X +C X +B Z +C Y +A Y +A X +C Z +B Z +C X +C Z +A Y +C X +B Z +C Y +B X +C X +C X +C Y +A Y +A X +C Y +C Y +C Z +C Y +C Y +C X +B X +C X +A Y +C Z +C Z +A Y +C Z +C Z +C Z +C Z +C Z +C Y +A Y +C Z +A X +C Y +C Z +C X +C Z +C X +A Z +C X +A Y +B Y +B Z +A Y +A Y +C Z +C X +B Z +B X +B Y +C X +C Z +B Z +A X +C X +C X +C Y +A X +C Z +C Y +A Y +A X +A X +B X +A Y +C Y +C Z +C Z +C X +C X +A X +C Z +A Z +A Y +A X +C X +A Y +B Z +C X +C Z +C Y +C Z +C Z +C X +C Z +A X +A Y +C X +C X +C X +C Z +C Y +C Z +B Z +C Z +B Z +A Y +A X +C Z +C X +C Z +C X +A X +C Z +C Z +C X +C X +C Z +A Y +A Z +A Y +C Z +C Z +C X +C Y +C X +C Y +A X +C X +A Y +B Z +B Z +C X +C X +C Z +C X +A Y +A Z +A Y +C X +C Z +A Y +C Y +C Z +B Z +A X +C X +C Z +C Z +A Y +A Y +A Y +A Y +C X +B Z +A Z +B X +A X +B X +C Z +C Z +C Z +B Z +A Y +C Z +C Y +C X +C Y +A Y +C X +C Y +C Y +A X +C Y +C X +C X +C X +C X +A Y +A Y +C X +C Z +C Z +A Y +C Z +A Y +C Z +C Z +C X +C X +C Z +C Y +C Z +A X +A X +C Y +B Z +A X +B Z +B Z +C X +C Z +C Y +A X +C Z +C Y +C Z +C Y +A Y +B X +C Y +C Y +C X +C X +C Z +C Z +C X +A Y +C Z +B Z +C Y +C X +C Y +C Z +C X +A X +A Y +C Z +B Z +C X +C Z +C X +C Z +C X +A X +C Z +A X +B Z +C X diff --git a/day02/part1.min.py b/day02/part1.min.py new file mode 100644 index 0000000..9dfab4d --- /dev/null +++ b/day02/part1.min.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python3 +print(sum(ord(x)-87+(ord(x)-ord(a)-1)%3*3 for a,_,x,_ in open("input.txt"))) \ No newline at end of file diff --git a/day02/part1.py b/day02/part1.py new file mode 100644 index 0000000..3f5cc9c --- /dev/null +++ b/day02/part1.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 + +lines = (x.strip() for x in open("input.txt")) +results = { + 'A X': 1 + 3, + 'A Y': 2 + 6, + 'A Z': 3, + 'B X': 1, + 'B Y': 2 + 3, + 'B Z': 3 + 6, + 'C X': 1 + 6, + 'C Y': 2, + 'C Z': 3 + 3 +} + +print(sum(results[line] for line in lines)) diff --git a/day02/part2.min.py b/day02/part2.min.py new file mode 100644 index 0000000..f622006 --- /dev/null +++ b/day02/part2.min.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python3 +print(sum(ord(x)*3-263+(ord(x)+ord(a)-1)%3 for a,_,x,_ in open("input.txt"))) diff --git a/day02/part2.py b/day02/part2.py new file mode 100644 index 0000000..4dbdbe4 --- /dev/null +++ b/day02/part2.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 + +lines = (x.strip() for x in open("input.txt")) +results = { + 'A X': 3, + 'A Y': 1 + 3, + 'A Z': 2 + 6, + 'B X': 1, + 'B Y': 2 + 3, + 'B Z': 3 + 6, + 'C X': 2, + 'C Y': 3 + 3, + 'C Z': 1 + 6, + +} + +print(sum(results[line] for line in lines))