From df47044ce4137aa19d2094f1f3bccc15f9f86162 Mon Sep 17 00:00:00 2001 From: starnakin Date: Thu, 29 Aug 2024 17:12:29 +0200 Subject: [PATCH] add: 2022 --- 2022/day01/alex.py | 24 + 2022/day01/part1.py | 11 + 2022/day01/part2.py | 12 + 2022/day02/main.py | 2520 +++++++++++++++++++++++++++++++++++++++++++ 2022/day03/part1.py | 14 + 2022/day03/part2.py | 22 + 2022/day04/part1.py | 19 + 2022/day04/part2.py | 19 + 2022/day05/part1.py | 17 + 9 files changed, 2658 insertions(+) create mode 100644 2022/day01/alex.py create mode 100644 2022/day01/part1.py create mode 100644 2022/day01/part2.py create mode 100644 2022/day02/main.py create mode 100644 2022/day03/part1.py create mode 100644 2022/day03/part2.py create mode 100644 2022/day04/part1.py create mode 100644 2022/day04/part2.py create mode 100644 2022/day05/part1.py diff --git a/2022/day01/alex.py b/2022/day01/alex.py new file mode 100644 index 0000000..e9c5dfd --- /dev/null +++ b/2022/day01/alex.py @@ -0,0 +1,24 @@ +f = open("file", "r") +Calories = f.read() +f.close() + +somme = [] +sum = 0 + +l_calories = Calories.split("\n\n") +for i in l_calories: + liste = i.split("\n") + for j in liste: + sum += int(j) + somme.append(sum) + sum = 0 + +def sauver_noel(liste): + for i in range(1, len(liste)-1): + if liste[i-1] >= liste[i]: + maxi = liste[i-1] + else: + maxi = liste[i] + return maxi + +print(sauver_noel(somme)) diff --git a/2022/day01/part1.py b/2022/day01/part1.py new file mode 100644 index 0000000..e467943 --- /dev/null +++ b/2022/day01/part1.py @@ -0,0 +1,11 @@ +f = open("file", "r") +str = f.read() +f.close() +lst = [] +for paquet in str.split("\n\n"): + Sum = 0; + for sub_paquet in paquet.split("\n"): + if (sub_paquet != ""): + Sum += int(sub_paquet) + lst.append(Sum); +print(max(lst)) diff --git a/2022/day01/part2.py b/2022/day01/part2.py new file mode 100644 index 0000000..6395af4 --- /dev/null +++ b/2022/day01/part2.py @@ -0,0 +1,12 @@ +f = open("file", "r") +str = f.read() +f.close() +lst = [] +for paquet in str.split("\n\n"): + Sum = 0; + for sub_paquet in paquet.split("\n"): + if (sub_paquet != ""): + Sum += int(sub_paquet) + lst.append(Sum); +lst.sort(); +print(sum(lst[-3:])) diff --git a/2022/day02/main.py b/2022/day02/main.py new file mode 100644 index 0000000..e67a5e1 --- /dev/null +++ b/2022/day02/main.py @@ -0,0 +1,2520 @@ +a ="""A Z +A Z +C Y +A X +A X +A Z +C X +A X +C Y +A Z +B Y +B Y +C X +C Y +C X +B Y +A Y +C Y +B Y +B Z +B Y +C X +A Z +C Y +B Y +B Y +A Z +B Y +B Y +B Y +B Z +B Y +A Z +B Y +C Y +B Y +B Z +C X +B Z +A X +B Y +B Z +C Y +A Z +C Y +A Z +B Y +C Y +A Z +A Z +B Y +C Y +C X +A Z +B Z +A Z +B Y +C X +B Y +B Y +B Y +A Y +B Z +C Y +C X +A Z +B Y +B Y +B X +A Z +C X +B Y +B Y +A Z +A Z +A X +A X +B Y +C X +A X +A Z +A Z +B Y +C Y +B Z +A X +B Z +A Z +B Y +A Z +C Y +A Z +A X +B Y +C Y +B Y +A X +B Z +C Y +B Y +B Y +A Z +A X +A X +B Y +C Y +B X +B Z +C X +B Y +A Y +B Y +B Y +B Y +A X +C Y +A Z +C Y +C Y +B Z +B Y +A Z +A Z +A Z +B Y +C Y +B Z +C X +C Y +B Z +A X +A Z +C Y +B Y +C Y +C Y +C Y +B Y +B X +B Y +B Y +C Y +A X +B Z +B X +C X +B X +C Y +B Z +B Y +A X +C Y +C Y +C X +B Z +B Y +A Y +B Z +A Z +B Y +B Y +B Z +B Z +C Y +A Z +A X +A X +C Y +B Y +A Z +B Z +A X +A Z +B Z +C Y +C Z +A X +A Y +B Y +C Y +B Y +C Y +B Z +B Y +A Z +C Y +B Z +B Y +A Z +A Y +B Y +B Y +C Y +A Z +C Y +B Y +B Y +A X +A Z +A Z +B Y +B Y +B Z +C Y +C X +B Z +A Y +B Z +A X +C X +A Y +B Z +B Z +A X +C X +C X +A Z +C Y +A X +A X +C X +A X +B Z +C Z +B Z +B Y +B Y +A Z +A Z +B Y +A Z +C Y +C X +B Y +A X +A X +B Z +C Y +C Y +A X +B Z +A X +C X +C X +B Z +C X +B Z +A X +A Y +A X +A Z +A X +B Y +C Y +A X +C Y +A Z +B Z +A Z +C Y +A X +A Z +B Y +A Z +B Z +B Z +A Z +B Z +A X +B Y +B Z +C X +B Y +B Y +B Y +B Y +A X +B Z +B Z +A Z +A Z +C Y +B Y +C X +A X +B Y +B Y +C X +B Y +A X +C Y +A Z +B Y +A Y +B Z +B Y +A Z +A X +B Z +C Y +A Z +C Y +C X +B Y +B Z +C X +A Y +B Z +A Y +B Z +B Z +B Y +B Z +C X +B Y +A X +B Z +A Z +B Y +A Z +C Y +C Y +C X +C X +A X +C X +A X +A X +B Z +B Y +B Y +B Y +B Y +C X +C X +A Z +A Z +C X +C X +C Y +C Y +C Y +B Y +A Z +C Y +B Z +B Z +B Y +C X +C X +C Y +C Y +C X +B Z +B Z +B Y +C Y +B Y +A Z +C Y +A X +B Y +C Y +C Y +C Y +B Y +A Z +B Y +A X +B Z +C X +A Z +C X +A Z +B Z +C Y +C Y +C Y +C X +B Z +C X +B Y +B Z +C X +B X +A Z +B Z +B Y +C Y +B Z +C Y +A X +B Z +C Y +C Y +B Z +B Y +C Y +B Z +C Y +A Z +C X +C X +C Y +A Z +C Z +C Y +B Y +C Y +B Y +B Y +B Z +C X +C X +B Z +B Z +B Z +A Z +B Y +B Y +A X +B Y +C Y +B Y +C X +C X +B Y +B Y +A Y +B Z +B Y +B Y +C Y +A Z +C X +A Y +B Y +B Z +B Y +A Y +C Y +A Y +A Z +B Y +A Z +C Y +C Y +B Y +A Z +B Y +B Y +A Z +B Z +B Y +C X +C Y +B Z +B Y +B Y +A Z +C Z +A Z +A X +C X +B Z +B Z +C X +C Y +B Y +B X +A X +C Y +B Z +B Y +C X +B Y +A Z +A Z +A X +C Y +B Z +B Y +C X +C X +B Y +A Z +C Z +B Y +A Z +C Y +B Y +C X +A Z +A Z +A X +C X +A X +C X +C X +A Z +C X +B Y +A Z +B Y +B Y +C Y +C X +A Z +B Z +B Y +B Y +A Y +A Z +B Y +A Z +B Z +B Y +C Y +A Z +B Y +B Y +B Y +C Y +C X +A X +A Z +B Z +B Y +C Y +B Z +C X +B Y +C X +A Z +B Y +B X +B Y +A Y +A X +A X +C X +C X +B Y +B X +C Y +A Z +B Z +C Y +C Y +B Y +A Z +C X +A Z +C Y +B Z +B X +C X +B X +C X +B Y +C Y +C Y +B Z +B Y +B Z +B Z +A Z +B Y +A Y +B Z +C X +C Y +C X +A Z +B Z +C Y +B Y +B Z +C X +B Y +A Y +A X +A X +C Y +B X +C X +B Z +A Z +A Y +B Z +C X +C X +B Y +A X +B Z +C Y +B X +B Z +C Y +B Y +C Y +B Z +B Y +B Z +B Y +C X +B Y +C X +B Z +B Z +C X +B Z +A X +B X +B Y +A X +B Z +C X +B Z +B Y +B Y +C X +A Y +B Z +B Z +B Y +B Y +B Z +C Y +B Z +C Y +C X +A Z +C X +A X +C Y +B Y +C X +A Z +B Y +A Z +A Z +B X +C Y +B Z +C Y +B Y +B Z +A X +B Z +A X +C X +B Z +B Y +C X +C Y +C Y +B X +C X +C X +B Z +C Y +B Z +B Y +B Z +C Y +B Y +C Y +C X +B Y +B Y +B Z +A Z +C X +A Z +B Y +B Z +A Z +C Y +A Z +B Y +A Z +A Z +C Y +A Y +B Y +A Y +C X +B Y +C X +B Z +C Y +A Z +C X +C X +B Z +C Z +C Z +B Y +B Y +C Y +C Y +A Z +C Y +C Y +C Y +A Z +B Z +C Y +B Y +C Y +C X +C X +B X +B Y +C Y +A Y +B Y +B Z +B Y +A Y +B Y +B X +C X +C Z +C Y +C Y +C Y +B Z +B X +C Y +B Z +C X +C Y +A Z +A Y +B Y +C X +A Z +B Y +C Y +B Z +A Z +A Z +B Y +A Z +C Y +A X +C Y +B Z +B Z +B Z +B Y +B Y +A Z +A Z +B Y +C X +A Z +C Y +B Y +A Z +C Y +A Z +B Z +B Z +A Y +B Y +B Y +B Z +C Z +B Y +B X +B Y +C X +B Z +C Y +B Z +A Y +B Z +A Z +A X +A Z +C X +C X +B Y +C X +C Y +A Z +B Z +B Y +A Z +B Z +B Z +B Z +C Y +B Y +A X +C Y +C Y +C X +A X +C Y +B Y +C X +B Z +A Y +B X +B Y +A Z +B Y +B Y +B Y +B Z +C X +B Z +B Z +C X +B Y +A Y +B Y +C Y +A Z +C Z +B Y +B Z +B Z +C Y +A Z +C Y +C X +C Y +B Y +A X +A X +B Z +C Y +B Z +B Y +A Y +C X +A Z +B Z +C Y +C Z +C X +B Y +C X +A Y +A Y +B Z +C X +B X +C X +B Y +B Z +B Z +B Y +C Y +B Y +B Y +A Z +B Z +B Y +C X +B Z +B Y +B Y +C Y +C Z +C X +B Y +A X +C Y +C X +B Z +C Y +A X +B Y +A Y +B Y +C X +C Y +C X +A X +B Z +C X +B Y +A Z +C X +B Y +A Z +B Y +B Y +B Y +A Z +A X +C X +C Y +C Y +B Y +B Y +B Z +A Y +C X +C X +B Y +B Y +B Z +A X +C X +C X +B X +A X +B Z +B Y +C X +A X +B Y +C Y +A X +B Y +C X +B Z +C Z +B X +C Y +B Y +C Y +A Z +C Y +B Z +C X +B Z +C X +C Y +C X +C Y +C Z +C X +C X +B Y +C Y +C X +C X +B Z +B Z +A X +C Y +C Z +B Y +C Z +C Y +C X +C X +B Y +C Y +A Y +B Y +A Y +B Y +B Y +B Y +C Y +C Z +B Y +C X +C X +B Z +B Y +B Z +C Y +B Z +C X +B Z +B Y +B Y +A Z +A X +B X +A X +C X +C Y +B Y +A X +B Z +B Y +B Y +A X +C X +C X +B Y +B Y +C Y +C Y +B Z +B Y +B Y +B Y +C Y +A X +B Y +C Y +B Z +B Y +B Y +B Z +B Y +B Y +B Z +B Y +B Y +C Y +A Z +B Z +A Y +B Y +C Y +B Z +B Y +B Y +C X +A X +C Z +C X +B Y +B Z +C Y +C X +B Z +A Z +A Z +C Y +A Z +B Y +B Y +B Z +B Y +C Y +B Z +C Y +B Z +B Z +B Y +C X +B Y +B Z +A X +C X +C X +B Z +B Z +C X +B Y +A Z +B Y +B Z +C Y +B Y +A Z +B Z +B Y +B Y +B Y +C X +C Y +A Z +B Y +B Y +A Z +A Z +A Z +A X +B X +A Z +C Y +C X +A X +B Z +A X +C X +B Z +B Y +B Y +C X +A Z +C Y +C X +A Y +C X +A Z +B Z +B Z +B Y +C Y +B Z +A Z +A Z +C Y +B Y +B Z +A Z +A Z +B Z +B Y +A Z +C Y +A Z +A Z +B Y +B Z +B Z +A X +A X +B Y +B Z +B Z +C X +B Z +C Z +B Y +B Y +B Y +B Z +A X +A Z +B Y +A X +B Y +B Y +C X +C X +C Y +C Y +A Z +A X +B Y +A Z +B Z +B Y +C X +B Y +B X +C X +A X +A Z +C Y +C X +C Y +B Y +B Y +A X +A Y +B Y +A Y +C Y +C X +B Y +B Y +B Z +C X +C X +B Y +C X +B Z +C Y +A X +A Z +A Z +B Y +A Y +C Y +C X +C Y +C Y +B Y +B Y +A Z +C X +A X +B Y +B Y +B Y +B Z +A Z +B Y +B Y +A Z +B Y +A Z +C X +B Z +C Y +B Y +B Y +A X +B Y +A X +B Y +B Z +C X +B Z +B Y +C X +C Y +C Y +A X +A X +B Z +B Z +B Y +C X +A Z +C Y +C Y +C Y +B Z +B Z +B Y +A Z +C Y +A X +A Z +C Y +B Z +B Y +B Y +A Z +B Y +A Z +C X +A X +B Z +B Y +B Y +B Z +A Z +C X +B Y +C X +B Z +C X +A Z +B Y +A Z +A Z +B Y +C Y +C X +C Y +A X +C Y +B Y +B Z +C X +C Y +A X +B Z +B Y +C Y +A X +B Z +A Y +B Z +B Y +B Z +A X +A Z +A X +B Z +C Y +B Y +A Y +B Z +A Z +C Y +C X +B Z +B Y +C Y +B Z +C X +C Y +A X +B Z +B Z +B Z +B Z +B Y +C X +B Y +C X +A Z +A Z +C Y +A Y +B Y +C X +A Z +B Z +C X +C X +A X +B Y +C X +A Z +B Y +B Y +B Y +B Y +C X +C Y +C Y +B Y +A Z +B Y +B Z +B Z +B Y +A X +B Z +B Z +C X +C X +C Y +B Y +C Y +B Y +B Y +B Z +B X +C X +C Y +A Z +B Z +B Y +A X +B Z +A Z +B Z +B Y +B Y +A Z +C Y +B Y +C Y +B Z +B Y +C X +B Z +B Z +C Y +C Y +B Y +C Y +C X +B X +B Y +C Y +B Y +B X +C X +B Y +A Y +A Z +A Y +B Z +A Z +A Z +A Z +B Y +A Z +A Z +C Y +B Z +A Z +A X +B Y +C Y +C X +C X +A Z +B Z +B X +B Z +C X +B Z +C Y +C X +C Z +C X +B Z +B Z +B Z +B Z +A Z +A Z +C Y +C Z +C Y +A X +B Y +B Y +B Y +A Z +A Z +B Z +C Y +C X +B Y +C X +B Z +B Y +B Y +B Y +B Y +B Y +B X +A Z +A X +A Y +C X +B Z +B Y +B Z +C Y +A Z +B Z +B Z +C Y +B Z +B Z +C X +B Y +C X +B Z +C X +C Y +C Y +C X +A Z +A Z +B Z +B Y +C X +C X +A Y +A Z +C X +A X +A X +A Z +C Y +B Z +B Y +A Z +B Y +B Y +B Z +B Y +C Y +B Z +A X +B Y +A X +B Z +A Z +C X +A X +C Z +A Z +C Y +A X +B Y +B Z +B Z +A X +C Y +A Z +C X +A Y +C X +B Y +B Z +A X +B Y +B Y +A Y +A X +B Y +C X +A Y +B Y +B Y +C Y +A Z +B Z +A Z +B Y +A Z +C Y +C X +B Z +B Y +B Z +A X +C Y +C Z +A X +A X +C Y +C Y +A Z +C Y +C X +A Y +C Y +B Y +B X +B Y +A Z +C X +C X +B Y +A Z +A X +B Z +C X +B Y +B Y +C Z +A X +A X +B Z +C X +C Y +B Z +C Z +B Y +A Y +A Z +A Y +C Y +C Y +C Y +B Z +B Z +B Y +B Y +B Y +B Z +B Z +C X +A X +C X +B Y +B Y +B Y +C Y +B Y +B Y +C X +A Y +B Z +C X +B Z +B Y +A X +C Y +B Y +C Y +B Z +B Y +C Y +C Z +C Y +A Y +B Z +A X +B Z +A Z +A Z +A Z +B Y +A X +C Y +B Y +B Y +B Y +C X +B Y +A X +C X +B Y +C X +A Z +B Z +B Z +B Y +C Y +B Y +A Z +B Y +C Y +B Z +C X +B Y +B Y +B Z +C X +C Y +B Z +B Z +C Y +C X +C X +B Y +B Z +A X +C X +A Z +A Y +B Z +B Y +B Y +C Y +C X +B Y +B Z +C Y +C Y +C X +C X +B Z +A Z +B Z +B Y +C X +A X +C X +A Z +C X +B Z +C Z +B Y +C Y +B Y +C Z +A Z +B Y +C Z +A X +B Z +B X +C Y +C X +B Z +A Z +B Y +A X +B X +A Z +C Y +A Y +A Z +A X +C X +A Y +C X +B X +B Y +C Z +A Z +C X +B Y +C X +C X +B X +B Y +A Y +B Y +B Y +A Z +B Y +C Y +C X +B Y +B Y +B Z +C Y +B Z +A Z +A Z +A X +B Y +C Y +B Y +C Y +C Y +B Z +A X +C Y +B Z +C Y +A Y +B Y +B Y +B Y +C Y +A Z +A Z +B Z +A Z +C Y +C Y +B Y +C X +B Y +A Z +B Z +A X +B Z +B Y +B Z +A X +A X +C Y +A Z +B Z +C Y +B Z +C X +B Z +A X +B Z +B Z +C Y +B Y +B Y +C Y +B Y +A X +B Y +C Y +A Z +B Y +C X +A Z +B Z +A Z +B Z +C Y +B Y +B Y +B Y +C Y +B Y +B Y +A Z +B Y +B Z +C X +B Z +C X +C X +A X +B Z +C Z +B Z +A Y +C X +C X +A Z +A X +A Y +A X +B Y +B Y +C X +C Z +A Y +C Y +B Y +B Y +C X +C X +B Z +B Z +B Y +C Y +A Z +B Y +C X +C X +A X +A X +A Y +B Y +C X +A Z +C Z +C Y +C Y +C Y +B Y +C Y +A Y +A X +B X +B Y +B Y +B Y +B Y +A Z +B Z +B Y +B Y +C Y +A X +A Z +A Z +A Z +B Y +A X +C Y +C Y +B Y +B Y +C Y +A Z +C Y +A X +C X +B Z +B Y +C X +B Y +A X +A Z +C X +C Y +C Y +C X +C X +B Z +B Y +A Z +B Y +B Z +B Z +B Y +B Y +A X +C X +C Y +C X +A Z +B Z +B Y +B Y +C Y +A X +A X +C Y +C X +B Z +A Y +B Y +B Z +B Y +A X +C Y +B Y +A X +C X +B Y +B Y +A Z +A Z +A Z +B Y +B Y +C X +B Z +A Z +B Z +A Z +C X +B Y +C X +B Y +C X +C X +B Y +B Y +A Y +C Y +C Y +B Z +C X +B Y +B Y +A X +A Z +B Y +C Y +B Y +C Y +A X +C Y +C Y +B Z +C Y +A X +C X +A Z +C Y +A Z +C X +B Z +B Y +B Z +C Y +B X +A Z +C Y +C X +B Y +C X +B Z +A X +A Z +C X +B Z +C X +B Y +A Z +B Y +C Y +B Y +C X +C Y +B X +B X +B Y +B Y +B Y +B Z +B Y +C X +A Z +A Z +C X +B Y +B Y +B Y +A Y +C Y +B Z +C X +C Y +A X +C Y +B Z +C Y +B Y +B Y +B Z +A Z +A Z +B Y +A Y +B Z +A X +C Y +B Y +A X +C X +B Y +C Y +B Z +B Y +C X +A Z +C Y +A Z +B Y +C Y +B Y +C X +A Z +C Y +C Y +A Y +B Z +C X +C X +A Z +C Z +C X +B Y +C X +A X +C Y +C X +C X +A X +A Y +A X +C X +A X +A X +B X +B Y +C Y +A X +B Z +C X +C Y +B Y +B Z +C Y +B Z +B Y +C X +A X +B Y +B Z +C Y +A Z +C X +C Z +A X +A Z +A Z +B Z +A Z +B Y +C Y +C Y +B Z +C Y +C Y +C Y +C X +A X +B Y +A X +C X +C Z +B Y +A Z +B Y +C Y +C Y +B Z +C Y +C X +B Z +C Y +B Y +B Z +A Z +B Z +B Z +B Y +A Z +A Y +C X +B Y +A Z +C Y +B Z +A Z +B Y +B Y +C Y +B Y +B Y +B Y +C Y +B X +B Y +A X +A X +B Z +A X +C Y +A Z +B Y +B Y +B Z +A Z +C Y +C X +B Y +A Z +A X +B Y +C X +B Z +A X +C X +B Z +B Z +B Z +B X +A X +C Z +C X +C Z +B X +A Z +C X +B Y +C X +C Y +C Y +B Y +B Z +B Y +C Y +C X +A Z +C Y +C Y +C Y +B Z +A Z +A Y +C X +C Y +B Y +C Y +C Y +B Z +C Y +B Y +B Y +C X +B Z +B Y +A X +B Y +A Z +B Y +C X +B Y +C X +B Y +A Z +C X +B Y +C X +B Z +C X +B Y +A X +C X +C X +A X +C Y +A Z +C Y +B Z +A Z +A X +C X +A X +C Y +A X +A X +B Z +C X +C Y +A Y +B Z +B Y +C Y +B Y +A Y +C Y +C Y +B Y +B Y +B Z +B Z +C X +B Y +C X +A X +A Z +C Y +B Z +C Y +B Y +C X +C X +A Z +B Z +A Z +C X +B Y +B Z +C Y +B Y +A X +A X +B Y +B Y +B Y +A X +B Y +B Z +A Z +A X +A X +B Z +B Y +A X +B Z +A Z +B Y +B Z +B Z +B Z +C Y +C Y +A Z +B Y +C Y +A Z +C X +B Z +A X +B X +B Y +B Y +C Y +C Y +B Z +B Y +A Z +B Y +A X +B Z +B Y +C Z +B Y +B Y +C Y +B Y +B Y +A Y +C Y +A Z +A Y +B Z +C X +B Z +A X +A Z +A X +C Y +A Z +B Y +B Z +B Z +C Y +C Y +C Y +B X +B Y +B Z +A X +B Y +C Y +A X +A X +B Y +C Y +A Y +B Z +B Z +B Z +A Z +B Y +C X +A Z +C Y +C Y +B Y +C Y +C Y +C Y +C Y +B Y +B Z +A Z +B X +C Y +C X +C X +C Y +A Z +C Y +C X +B Z +B Y +A Y +C Z +B Y +B Y +B Y +B Y +C Y +B Y +C Y +A Z +B Y +C X +C Y +B Z +A X +C Y +B Y +B Y +B Y +A Z +A X +A X +C X +C Z +B Z +A X +A Z +A X +A Y +C Y +C Y +A Z +C X +C X +B X +B Y +A X +A Z +A X +C Y +B X +A X +A X +C X +A Y +B Z +A Z +B Y +A X +A Z +B Y +A Z +C Y +B Z +A Z +C Y +C X +B Z +C Y +B Y +C X +A Z +B Z +A X +A X +C Z +A X +C X +B Y +B Z +A X +A X +C Y +A Z +C Y +C X +C Y +B Z +B Y +C X +C X +B Z +B Z +C Y +A X +B X +C X +C Y +A X +A Z +B Y +C X +A Y +C X +C Y +A Z +B Y +B Z +B Y +C X +C Y +C X +C X +B Y +C X +C X +B Y +C Z +C Y +C Y +B Z +B Z +B Y +A X +B Y +A Z +A Y +B Y +C Y +B Z +B Z +A X +B Y +A X +B Y +A Z +B Y +C X +A Z +B Z +C Y +B Y +A Y +A X +C X +A X +B Y +B Z +B Z +C Y +A X +B Y +B Z +B Y +B X +C Z +B Z +C X +C Y +C X +B Z +C Y +A X +A X +C X +B Y +B X +B Y +A X +C Y +A Z +B Y +B Y +B Y +B Z +B Y +C X +A Z +C Y +A Z +B Z +C X +C Y +C X +C Y +A Y +B Z +B Y +B Z +C Y +A X +B Y +A X +C X +B X +C X +A Z +B Z +B Z +C Y +B Z +""" +rps = { + 'A' : {'X' : 4, 'Y' : 8, 'Z' : 3}, + 'B' : {'X' : 1, 'Y' : 5, 'Z' : 9}, + 'C' : {'X' : 7, 'Y' : 2, 'Z' : 6}, + } +win_lose_draw = { + 'A' : {'X' : 3, 'Y' : 4, 'Z' : 8}, + 'B' : {'X' : 1, 'Y' : 5, 'Z' : 9}, + 'C' : {'X' : 2, 'Y' : 6, 'Z' : 7}, + } +sum = 0 +sum1 = 0 +for i in range(2, len(a), 4): + temp = a[i-2] + sum+=rps[temp][a[i]] + sum1+=win_lose_draw[temp][a[i]] + +print(sum) +print(sum1) diff --git a/2022/day03/part1.py b/2022/day03/part1.py new file mode 100644 index 0000000..11a776a --- /dev/null +++ b/2022/day03/part1.py @@ -0,0 +1,14 @@ +f = open("file") +str = f.read(); +f.close(); +sum = 0; +priority = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] +for sac in str.split("\n"): + compartiment1 = sac[:len(sac)//2] + compartiment2 = sac[len(sac)//2:] + for element1 in compartiment1: + if (element1 in compartiment2): + print(element1, priority.index(element1) + 1) + sum += priority.index(element1) + 1; + break; +print (sum); diff --git a/2022/day03/part2.py b/2022/day03/part2.py new file mode 100644 index 0000000..0b4dfb4 --- /dev/null +++ b/2022/day03/part2.py @@ -0,0 +1,22 @@ +f = open("file"); +str = f.read(); +f.close(); + +priority = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] + + +splitted = [] +str = str.split("\n") +while len(str) != 0: + splitted.append("\n".join(str[:3])); + str = str[3:]; + +sum = 0; +for group in splitted: + resplitted = group.split("\n"); + print(resplitted) + for i in resplitted[0]: + if (i in resplitted[1] and i in resplitted[2]): + sum += priority.index(i) + 1; + break; +print (sum); diff --git a/2022/day04/part1.py b/2022/day04/part1.py new file mode 100644 index 0000000..06f7a16 --- /dev/null +++ b/2022/day04/part1.py @@ -0,0 +1,19 @@ +f = open("file"); +s = f.read(); +f.close(); +menfou = 0; +for pair in s.splitlines(): + elfs = pair.split(","); + values = elfs[0].split("-") + start1 = int(values[0]); + end1 = int(values[1]); + values = elfs[1].split("-") + start2 = int(values[0]); + end2 = int(values[1]); + if (start2 <= start1 <= end2 and end1 <= end2): + print (start2, start1, end1, end2) + menfou += 1; + elif (start1 <= start2 <= end1 and end2 <= end1): + print (start1, start2, end2, end1) + menfou += 1; +print(menfou); diff --git a/2022/day04/part2.py b/2022/day04/part2.py new file mode 100644 index 0000000..a2e2e67 --- /dev/null +++ b/2022/day04/part2.py @@ -0,0 +1,19 @@ +f = open("file"); +s = f.read(); +f.close(); +menfou = 0; +for pair in s.splitlines(): + elfs = pair.split(","); + values = elfs[0].split("-") + start1 = int(values[0]); + end1 = int(values[1]); + values = elfs[1].split("-") + start2 = int(values[0]); + end2 = int(values[1]); + verif = 0; + for i in range(start1, end1 + 1): + for y in range(start2, end2 + 1): + if (y == i): + verif = 1; + menfou += verif; +print(menfou); diff --git a/2022/day05/part1.py b/2022/day05/part1.py new file mode 100644 index 0000000..cf4e59d --- /dev/null +++ b/2022/day05/part1.py @@ -0,0 +1,17 @@ +f = open("file"); +s = f.read(); +f.close(); + +splitted = s.split("\n\n"); +default = splitted[0]; +instructions = splitted[1]; +resplitted = default.split("\n") + +for i in range (len(resplitted) - 1): + letter = False; + for y in range (len(resplitted[i] - 1)): + if (resplitted[i][y] == '['): + letter = True; + elif (letter): + letter = False; + tab[i ]