From f3e85556d70b6a3b584be69807fe71d584208dc1 Mon Sep 17 00:00:00 2001 From: Colin Diem Date: Sat, 3 Dec 2022 00:07:49 -0500 Subject: [PATCH] day2 part 1 complete. --- day2/input.txt | 2500 ++++++++++++++++++++++++++++++++++++++++++++++++ day2/main.py | 52 + day2/test.txt | 3 + 3 files changed, 2555 insertions(+) create mode 100644 day2/input.txt create mode 100644 day2/test.txt diff --git a/day2/input.txt b/day2/input.txt new file mode 100644 index 0000000..cc2bfe1 --- /dev/null +++ b/day2/input.txt @@ -0,0 +1,2500 @@ +A Z +C X +A Z +A Z +C Y +C Y +A Z +A Y +C Y +A Y +A Z +A Z +A Z +A Y +A Z +A Y +C Y +C X +A Y +C Y +C Y +C X +A Z +C Y +C X +A X +A Y +A Z +A Y +A Y +C X +C X +B Y +C X +C X +A Y +A Z +A Z +A X +A Z +A Z +C Y +A Z +A Z +A Y +C X +C Y +C X +B X +C Z +A Y +A Z +A Z +A Z +A Y +A Y +C X +A Y +A Z +C Y +A Y +A Y +A Z +A Z +C Y +A Z +C Y +A Y +A Z +A Z +C Y +B Z +A Z +A Z +A Z +A Z +C X +C X +A Y +A X +A Y +A Z +A Z +C X +A Z +C X +A Z +C Y +C X +A Z +A Z +A Z +A Z +C X +C Y +A Z +A Z +C Y +A Z +B Z +C X +A Z +A X +C X +A Z +C Z +A Z +C X +A Z +A Y +C X +C Z +A Z +C X +C Y +A Z +B Z +B Y +A X +A X +A X +A Z +A Z +A X +A Z +A X +A Z +A Z +C X +C X +B Z +A Z +A Y +A Z +A Z +A Z +A Z +C X +C X +C X +A Z +A Z +A Z +A Z +A X +A Y +A Y +C X +C X +B Z +C X +A X +A Z +A Z +C X +C Z +A Z +A Z +C Y +A X +A Z +C Y +A X +A Y +A Y +A Y +C Y +A Z +A Z +C X +C X +C X +C X +B Z +C Y +C X +C X +A Y +A Y +A Z +A Z +A X +C X +A Z +B Z +A Z +C X +A Y +A Z +A Z +A Y +A Y +A Z +C X +A Y +C X +C X +A Z +A Y +C X +A Z +A Z +A Y +A Z +A Z +C Y +C Z +A Y +A Z +C X +C X +A Z +A Z +C Y +A Y +A Z +A Y +A Z +C X +A Z +A Z +C X +A Y +A Y +C Y +A Z +C Y +A Z +A Z +C Y +A Y +B Z +C Y +C X +C X +A Z +C Y +A X +C Y +A Z +A Y +A Z +C X +C X +C Y +C Y +A Y +A Z +C X +C X +A Y +A X +A Y +B Z +A Y +C Y +C X +C X +A X +C X +B Z +A X +C Y +C X +C X +A X +A Z +B Z +A Z +A Z +A Y +A X +A Z +C X +A X +C Y +A Z +A Z +A X +A Z +A Z +C X +C X +A Z +A Z +A Z +A X +A Z +A X +B Y +A Z +A Y +C Y +A Z +C X +A Z +C X +A Y +A Z +C X +C Y +A Y +C Y +A Z +C X +A Z +A Z +C X +A Y +A Z +A X +A Z +A Z +A Z +B Y +C X +A X +A Z +A Z +C Y +C Y +C X +C X +C X +A X +A X +A Z +A X +A Y +A Z +A Y +A Z +C Y +C Z +A Y +A Z +A Z +A X +A Z +A Z +C X +C Y +A Y +C X +C X +A Z +C X +C X +C X +A X +A Z +A Z +A Z +A Z +B Y +A Y +A Y +A Z +C X +A Y +A Z +C X +A Z +C Z +A Y +C X +A Z +B Z +A Y +A X +A Z +C X +A Z +A Z +A Z +A Z +A Z +B Z +A Z +C X +A Y +C X +A Z +A Z +A Y +A Z +B Z +C X +A Y +C Y +A Z +A Z +C X +C X +A Y +C X +C Y +B Z +A Y +C X +A Y +C X +A X +A Y +A Z +A Z +A Y +C X +A X +C X +B Y +A Z +A Y +B Y +A Y +C X +A Z +A Z +C X +C Y +A Y +C X +C Y +A Y +A Z +A X +B Z +C X +A Z +A Y +A Z +B Z +A Z +A X +C Y +A X +A Z +A Y +C Y +A Z +C Y +A Z +C X +C X +A Y +C X +C X +A Y +A Z +A Z +A Y +A X +C Y +A Z +A Z +C X +A X +A Z +C Z +A Z +C Y +A Z +C X +A Z +A Z +A X +C X +C X +C Y +B Z +B Y +C Y +A Y +A X +A Z +C X +A Y +A Y +A Z +A Z +C Z +C X +C X +C X +A Z +C X +A Z +A Z +A Y +C Y +C X +C X +C X +A Y +C X +B Z +C X +A Z +C Y +A Y +C Y +A Z +A Z +C X +A X +A Z +A Y +A Z +B X +C Z +A Z +C Z +A X +C X +C X +C X +C X +A Z +A Y +A Z +A Z +A Z +A Z +A Z +C Z +C Y +C Y +C X +C Y +A Z +C X +C X +A Z +A Z +C X +C Y +C Y +A Z +A X +C Y +C Y +C X +A Y +C X +A Z +A Z +A Y +C Y +A Y +C X +C X +A Z +A Z +C Y +A Z +C X +A Y +A Y +A Z +C Y +A Z +C X +A Y +A Z +A Z +A Z +A Z +C Y +A Y +C Y +A Z +A Z +A X +A Y +A Y +A Z +C Y +A Z +A X +A Z +B Z +C X +C X +C Y +A Z +A Z +C X +C Z +A Z +C X +C Y +A Z +B Z +A Z +B Z +A X +A Y +A Z +A Z +A Z +A Z +C Y +A Z +A Z +A Z +B Z +A Z +C X +C X +A Z +C X +A X +A Z +A Y +A Y +A X +A Z +A Z +A Z +A Z +B Z +A Z +C Y +C Y +C X +C X +B Z +C Y +A Z +C Y +A Z +A Y +C Y +A X +A Y +C X +A Y +C X +A Z +A Z +B Z +A Y +C Y +C X +A Z +A Z +C X +A Y +A Z +A Z +A X +A Y +A Y +A Y +A Z +A Y +A Z +C X +A X +A Z +A Z +C Y +A Z +C X +A Z +C Y +A Y +A Z +A Z +A Z +A Z +C Y +A X +A Z +A Z +A Y +A Z +B Z +A X +A Y +C X +C X +A Y +A Z +C Y +A Z +A Y +A Y +A Z +A Y +A Y +A Z +A Z +A Z +C X +A Z +A Y +A Z +A Z +C Y +A Z +C X +A Y +C X +C Y +A Z +C Y +A Z +A Y +C Y +C Y +A Z +C X +C X +C X +A Z +A Z +A Y +C X +A Z +A X +A Z +A Z +C X +A Z +C Y +A Y +A Z +A Y +A Z +A Z +C Y +A Z +C X +A Z +A X +A Z +A Z +C X +A Z +A Z +C Y +C X +A Z +C Y +C X +C X +A Z +A Z +A Z +A X +C X +A Z +A Z +C Y +A Y +C X +A Y +C X +C Y +A Y +A Z +C X +A Z +B Y +A X +B Z +A Y +A X +C Y +A Z +A X +A Z +A Z +C Y +A Z +B Z +C X +C X +B Y +A Z +A Z +A Z +C Y +C X +A Z +A Y +A Y +A Y +C Y +C X +A Z +A X +A X +A X +A Z +A Z +A Z +A Z +C X +C X +A Z +C X +A Y +C X +B Z +A Z +A Z +C X +A Z +C X +C X +C X +A Y +C Y +C X +A Y +C X +C Y +B Z +A Z +C X +A Z +A X +B Z +A Y +B Y +A Z +A Z +A X +A Z +A X +A Z +A Z +C X +C Y +A X +C Y +C X +A Z +A Z +A Z +C Y +A X +A Y +A Z +A Y +C X +B Z +A Z +A Y +C Z +C X +A Z +A Z +A Z +B Z +A X +C X +A Z +A Z +B Z +A Z +A Z +B Z +A Z +C X +A Z +C X +A Z +C X +A Z +C Y +A Z +A X +A Y +A Y +C X +A Y +C X +B Z +A Z +A Z +A Z +A Z +C X +A Z +C X +A Z +A Y +A Z +B Z +A Y +C Z +A Y +C X +A Z +A Z +A Y +B Z +A X +C Y +A Z +A Y +A Z +A Y +A Y +A Z +A Z +A Z +A X +A Z +C Y +A Y +A X +A Y +C X +A Y +C X +A X +C X +A Z +C Y +A Y +A Z +A Z +A X +A Y +C X +C X +A Y +A X +A Z +B Z +A Y +A Z +A X +A Z +B Y +A Y +A Y +A Z +C X +A Z +A Z +A Y +A Z +C Z +A Z +A Z +A Z +A Z +C Y +C Y +A Y +B Z +C Y +A Y +C Y +A Z +A Z +A Z +A Z +C Y +A Z +A Z +C Y +C X +A Y +A Y +A Z +C X +C Z +C X +C X +A Z +A Z +A Y +A Z +A X +C Y +A Z +A Z +C Y +C X +A X +A Z +A Z +A X +C X +C X +C X +A Z +A X +C X +C Y +A X +A Z +C X +A Z +A Z +C X +A Y +A Z +A Z +A Y +A Z +C X +A Z +A Z +C X +A Y +A Z +A Z +C X +A Z +A Y +A Z +C Y +A X +A Z +A Z +C X +A Z +A Y +C Y +B Z +A Z +A Y +C X +A Z +B Z +A Z +C Z +A X +A Z +A Z +C Y +A Z +A Y +C X +C Y +A Z +A Z +A Y +A X +C Y +A Y +C X +C Y +A Z +C Y +A Z +C X +A Z +A Z +A X +A Z +A Z +B X +A X +A Z +C Y +A Z +A X +C X +A Z +A Z +C X +C Y +C Y +A X +A Y +C Y +A Y +A Z +A Z +A Z +A Z +A Y +C X +C X +C Y +C X +A Z +A X +B Z +B Y +C X +C Y +A Y +A Z +A Y +C X +C Z +A Z +A Y +C Y +C X +A Z +A Z +A Y +C X +C Z +C Y +A Z +C X +C Y +A X +A X +A Y +A Z +B Z +A X +A Y +A Y +C X +C Y +A Z +A X +A Z +A X +A Y +A Z +A Z +A Z +C X +A Z +A Z +A Z +C Z +C Y +C Y +A Z +C Y +C Y +C Y +C X +A Z +C X +C X +A Z +A Y +A Z +A Z +A X +A Y +A Y +C X +C X +A Z +A Z +A Z +A Z +A Y +A Z +A Z +A Z +A Z +A X +A X +A Y +A X +C Y +A Y +A Z +C X +A Y +A Y +A Z +A Z +A Z +C X +A Z +C X +C X +C Y +A Y +A Z +A Y +A Z +C X +C X +A Z +A Z +A Z +C X +A X +A Z +A Z +C Y +C Y +A Y +A Y +A Z +A Z +C Y +C X +C Y +A X +C Y +C X +C Y +A Z +A Z +A X +C Y +C Y +A Z +A Y +C X +A X +B Z +A Z +C X +A Y +A X +A Z +A Z +A Z +C Y +C X +A Z +C X +A Z +A Z +A Y +A Z +A Y +A X +A Z +C Z +A Z +A Z +A Z +A X +A Z +A X +C X +A Z +A Z +C Y +A X +A Z +C X +C X +A Y +A Z +A Z +C X +B X +A Z +C Y +A Z +C X +A Y +A Z +C X +A X +A Z +A X +A Z +C X +A Z +A X +A Z +C X +C Y +A Y +A X +A X +A Z +C Y +C Y +A Y +A Y +A Y +A X +A Z +A Z +A Z +C Y +C Y +A Y +B X +B X +A Z +C X +C X +A Z +C Y +C X +A Z +A Z +A Z +A Z +C X +A Z +A Z +C Y +A Y +C Y +A Z +C Y +C Y +A Z +C X +A Z +A X +A Z +C X +C X +A Y +B Z +A Y +C Y +A Z +C Y +A X +C X +A Y +C X +A Z +C Z +C Y +A Z +C X +C Y +A Z +A X +A Z +A Z +A Z +C X +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Y +A Z +A X +A Y +C Y +B Y +C X +B Z +A Z +A Z +A Y +B Z +A Z +A Z +C X +C Y +C X +A Y +A X +C X +C Y +A Y +C X +C Y +A Z +A Z +A Z +A Y +C X +A Y +C X +B Z +A Z +A Y +A Z +A Z +A Y +C X +A Z +C X +C Y +A Y +A Z +B Z +C X +A Y +C X +A Y +A Z +C X +A X +C X +B Y +C X +A Z +A Y +A Z +A Y +A X +C X +C X +A Y +C X +A Y +A Y +A X +B Y +A Y +C X +C X +A Y +B Z +B X +B Z +A Y +A Z +C Y +A Y +B Y +A Z +C X +A Z +A Z +A Z +A Z +B Z +C X +C Y +A Z +C Y +C Y +A X +C X +A Z +A Z +A Z +C X +C X +C X +A Y +C Z +C Z +A Z +C X +A Y +A Z +A Z +A Z +C X +A Z +A X +A Z +A Z +A Z +A Z +A Y +C Y +C X +A X +A Y +C X +A X +A Z +A Z +C X +A Z +A X +A Z +A Z +A X +A Z +A Z +A X +A Z +A X +B Y +A Y +A Y +C Y +A Z +A Y +C X +A Z +A Y +A X +C Y +B X +C Y +A Z +C X +A Y +A Z +A Y +A X +C Y +A Z +A Z +C Y +C X +A Z +C X +A Y +C X +A Z +A Y +A Z +A Z +A Z +A Y +A Z +C X +C X +A X +C X +C X +A Z +C X +A Z +C Y +C X +A Z +A Z +A Z +C X +A X +C Y +A Z +C Y +A X +A Z +C X +A Z +A Z +A X +A Z +C X +B X +A Z +A Z +A Z +C X +A Y +A Y +A X +C Y +C Y +A Z +A Y +A Z +A Z +C X +A X +A Y +A Z +A Z +A Z +A Z +B Z +C X +C X +C X +A Z +C Z +A X +C X +A Z +C Y +A Z +A Z +A Y +A Y +C X +A Z +A X +A Z +A Z +A Z +A Z +C Y +A Z +A Y +A X +A X +A Z +C X +A X +A X +A Z +A Y +C X +A Z +A Z +A Y +A Z +B Z +C X +C X +C Z +C Y +C X +A Z +C Y +A Z +C Z +A Z +A Y +A Y +A X +A X +A Z +A Y +A Y +A Y +A Y +A Z +C Y +A Z +A Z +C X +A Z +A Z +C Y +A Y +C X +A Y +C X +A Z +B Z +A X +B X +A Y +A X +A Y +B Z +A Y +A Z +C Y +C Y +A Z +A X +A Z +A Z +C Z +A Z +A Y +C X +A Y +C X +A X +A Y +C Y +A Y +A Z +A Z +C X +C X +B Z +A Z +A Z +A X +C X +C Y +A Z +A Z +A X +C X +C Z +A Z +C Y +A Y +B Z +C Y +A Z +C X +A X +A Z +A Z +A Z +A Y +C Y +A Z +C Y +A Z +A Z +A Z +A Z +A Y +C X +A Y +C Y +B Z +A Z +C X +C Y +A Z +C X +A Z +C X +C Z +A Z +C X +C X +A Z +A Z +A Y +A Y +A Y +C X +A Y +A Z +A Z +A Z +A Z +A Z +A Z +A Y +A Z +A X +C Y +A Z +A Z +A Z +A Y +A Z +A Z +A Z +A Z +C X +B Z +A Z +A Y +A Y +A X +A Z +A Z +C Z +A Z +C X +A Y +A X +B Z +A Z +A Z +A Z +C Y +C Z +C X +A Z +C Y +C Y +C Y +C X +B Z +A Z +A Z +C Z +A X +A Z +A Z +A Z +C X +A Z +A Z +C Y +C Y +A Z +A Z +C X +A Y +C Y +C Y +A Z +A Z +A X +A Z +A Z +A X +A X +C X +A Z +A X +C X +C X +A Z +A X +A Z +C X +C X +C X +C Y +A Z +A Z +A X +A Z +A Y +A Z +A Z +C Y +A Z +A Z +A Z +A X +A Z +C X +A X +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Y +A X +A Y +A X +C Y +A Z +A Z +C X +A Z +A Z +A Z +A X +A Z +A Z +A Y +C X +A Y +A Z +C X +A X +A Y +A Z +A Z +A X +A Z +A Y +C X +A Y +A Z +A Z +A Z +A Z +C X +C Y +A Z +B Z +C X +A Z +A Z +C Y +C Y +C X +A X +C Y +B Y +A Z +A Z +A Z +C Y +A Z +A X +A Y +A Z +A Z +A Z +C Y +A Z +C Y +C X +A Z +A Z +A Z +A Z +A Z +A X +A Z +A Z +C X +A Z +A Y +C Z +A Z +A Z +A Z +B X +C X +A Z +A Z +A Z +A Z +C X +A Z +A Z +A Y +A X +C X +C Y +A X +A Y +C X +A Z +A Z +C X +C X +A Z +C X +A Z +A Y +C X +A Z +B X +B Y +A X +C Y +A X +A Y +C Y +A Z +A Z +A Z +C X +A Z +A X +A Z +C Y +A Z +A Z +C X +A Z +A Z +A Y +A Z +A X +A Y +A Z +C X +C Y +B X +C Y +A Y +A Z +C X +A Z +C X +C Y +A X +A X +A Z +A Z +C Y +A Y +A Y +A Z +A Z +C X +A X +C X +A X +A Y +C X +A Z +A Z +B Y +A Z +A Z +A Z +A Z +A Z +A X +A Y +A X +A Z +A Z +C X +A Y +A Z +C Y +C X +C X +C X +C X +C Y +A X +A X +C Y +A X +A Y +A Y +B Z +A Z +B Y +C Y +A X +A Y +A Z +A Z +A Z +A X +C X +A Z +A Z +A Z +A Z +A Z +A Y +A Z +B Z +A Z +A Z +A Y +C Y +C Y +C X +A Z +A X +C X +A Y +B Z +C X +A Z +C X +C Y +C Y +A X +A X +C X +A Z +A Z +A Y +A X +A X +A Z +C Y +B X +A Z +A Z +A Z +A Z +A Y +A Y +A Z +C Y +C Y +A X +A Z +A Z +C Y +A Y +A Y +A X +A Y +A X +A X +A X +A Z +A Z +A Y +A Z +C X +A Z +A Y +A Z +A Z +A Y +A Z +A Z +C X +A Z +A Y +A Z +A Z +A Z +A Z +A Z +A Z +A Y +C X +B Z +C Z +A Z +A Y +A X +A X +C Y +C Y +A X +C X +B Z +A Z +C X +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Y +A Z +A Z +A Y +A Z +A Y +A Y +A Z +A Z +A Y +A Z +C Y +A Z +A Z +A Z +C X +C X +A Z +C Y +A Z +A Z +C X +A Z +C X +A Y +A Z +C Y +A Z +A Z +C X +C Y +A Z +C X +C X +A X +A Y +C Y +A Y +A Z +C X +A Z +A Z +A X +A Z +C Y +A Z +C X +A Z +C X +A Z +C X +A Y +C Y +A X +A Z +A Z +C Y +A X +A Z +A Y +B Z +A Z +A X +A Z +A Z +A X +C X +A Z +A Z +C Y +A Z +A Y +A Z +C Y +A Z +A Y +A Z +C Z +A Y +A Z +A Y +C Y +A Z +C X +A X +B Z +C X +C X +A Z +A Z +A Y +A X +A Z +A Z +B Z +A Z +C Z +A X +A Z +A Z +A Z +A Z +A X +A X +A Z +A X +A Z +A Z +A Z +A X +C X +C Y +A X +C X +C X +A Z +A X +C Y +B Z +A Z +A Z +C X +B X +A Z +A Z +C X +C X +B Z +C Y +A Z +A Z +C X +A X +A Y +C Y +C Y +B Z +A Y +C X +A Z +A Z +A Y +C X +A Z +A Z +C X +C Y +A Z +C X +C Y +C Y +C X +C Y +A Z +C Y +A Z +C X +A Z +C Y +C Z +A Z +B Z +A Z +C X +C X +B Y +B Z +C Y +C X +C X +A Y +C X +C X +A Z +A Y +A Z +C X +A X +A Z +A Z +A Z +A Z +A Z +A Z +A Z +C X +C X +A Z +C Y +C X +A Z +B Z +A Z +A Z +A X +C X +A Y +A Z +A Z +A Y +A X +C Y +B X +A Z +A X +C Y +C X +C X +C Y +C Y +A Z +A Z +C Y +A Z +A Y +C Y +A Y +C X +A Z +C X +C Y +C Y +A Z +A Z +A X +A Y +A Z +A X +A Z +A Z +A Z +C Y +A Z +A Z +C X +C Y +A Z +A Z +A Z +C Y +C X +A Z +C X +A Z +A Z +A Z +A X +A Z +A Z +A Y +B Z +A Z +A Z +A Z +C Y +A Z +B Z +A Z +C Z +A Z +A Y +C X +C Y +C X +C X +A Z +A Z +A Y +A Y +A Z +A Y +B Z +C Y +A Y +A Z +C X +A Z +A Z +C Y +A Y +A Z +A Y +C Y +A Z +A Z +A X +B Z +A Z +A X +C X +A Z +C Y +C Y +A Z +B Y +A Y +A Z +A Z +A Z +A Z +C X +C X +A Z +C X +A Y +A Z +A Z +C Y +A Z +A Z +C Y +C X +B Z +A Y +A Y +C X +C X +A Z +A X +B Z +A Z +C Y +A Z +A Y +A Z +A Z +A Y +C Y +C X +A Z +C X +A Z +C Y +A Z +C Y +A Y +A Z +A Y +A Z +C X +A Z +A Z +C X +A Z +B Y +A Z +A Z +C Y +C X +C X +A Z +A Z +C X +B Z +A Y +A Z +A Y +A Z +A Z +A Y +A X +C X +C X +A X +A Z +A Y +A Y +A Z +A Y +A Z +A Z +C Y +A X +A Z +A Z +C X +A Z +A X +B X +C X +A Z +A Y +B Z +C X +C Y +A Z +B Z +C Y +A Z +A Z +A X +A Z +A Z +A Z +A Z +A Z +A Z +A Z diff --git a/day2/main.py b/day2/main.py index e69de29..cba4c5e 100644 --- a/day2/main.py +++ b/day2/main.py @@ -0,0 +1,52 @@ +import datetime +print(datetime.datetime.now()) +input = open("./input.txt", "r") + +gameResult = { + "win": 6, + "tie": 3, + "lose": 0 +} + +throws = { + "rock": 1, + "paper": 2, + "scissors": 3 +} + +rpsThrow = { + "A": "rock", + "B": "paper", + "C": "scissors", + "X": "rock", + "Y": "paper", + "Z": "scissors" +} + +total = 0 + +def determineWinner(opponent, self): + if (opponent == self): + return "tie" + if (throws[opponent] == throws["rock"]): + if (throws[self] == throws["paper"]): + return "win" + if (throws[opponent] == throws["paper"]): + if (throws[self] == throws["scissors"]): + return "win" + if (throws[opponent] == throws["scissors"]): + if (throws[self] == throws["rock"]): + return "win" + return "lose" + +def calculateScore(game): + foe = rpsThrow[game[0]] + me = rpsThrow[game[2]] + result = determineWinner(foe, me) + return gameResult[result] + throws[rpsThrow[game[2]]] + +for line in input: + total = total + calculateScore(line) + +print(total) +print(datetime.datetime.now()) \ No newline at end of file diff --git a/day2/test.txt b/day2/test.txt new file mode 100644 index 0000000..25097e8 --- /dev/null +++ b/day2/test.txt @@ -0,0 +1,3 @@ +A Y +B X +C Z \ No newline at end of file