From 5c851b5b35da2bcef3a6e9f3cbf04f4e4854dcad Mon Sep 17 00:00:00 2001 From: Simon Junod Date: Sun, 14 Dec 2025 17:20:39 +0100 Subject: [PATCH] Days 5 and 6.1 done --- 5/a.py | 25 +++++++++++++++++++++++++ 5/b.py | 9 +++++++++ 6/a.py | 21 +++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 5/a.py create mode 100644 5/b.py create mode 100644 6/a.py diff --git a/5/a.py b/5/a.py new file mode 100644 index 0000000..8af4c45 --- /dev/null +++ b/5/a.py @@ -0,0 +1,25 @@ +with open("input", "r") as f: + lines = f.read().splitlines() + +ranges = [] +ingredients = [] + +for line in lines: + if not line: + continue + if "-" in line: + start, end = line.split("-") + ranges.append((int(start), int(end))) + else: + ingredients.append(int(line)) + +s = 0 + +for ingredient in ingredients: + for range_ in ranges: + start, end = range_ + if start <= ingredient <= end: + s += 1 + break + +print(s) diff --git a/5/b.py b/5/b.py new file mode 100644 index 0000000..fc9f11a --- /dev/null +++ b/5/b.py @@ -0,0 +1,9 @@ +with open("input", "r") as f: + lines = f.read().splitlines() + +ranges = [] + +for line in lines: + if "-" in line: + start, end = line.split("-") + ranges.append((int(start), int(end))) diff --git a/6/a.py b/6/a.py new file mode 100644 index 0000000..5f387fa --- /dev/null +++ b/6/a.py @@ -0,0 +1,21 @@ +from functools import reduce +from operator import mul + + +with open("input", "r") as f: + lines = f.read().splitlines() + +lines = [line.split() for line in lines] + +transposed = [[lines[j][i] for j in range(len(lines))] for i in range(len(lines[0]))] + +s = 0 + +for line in transposed: + operands, operator = list(map(int, line[:-1])), line[-1] + if operator == "+": + s += sum(operands) + else: + s += reduce(mul, operands, 1) + +print(s)