2025-12-05 14:03:39 -06:00

36 lines
824 B
Python

class iVec2d:
x: int
y: int
def __init__(self, x: int, y: int):
self.x = x
self.y = y
INPUT_FILE = "input.txt"
fresh_ranges: list[iVec2d] = []
available_ids: list[int] = []
# Parse data
with open(INPUT_FILE, 'r') as file:
data: str = file.read()
ranges, ids = data.split("\n\n")
for r in ranges.split("\n"):
n1, n2 = r.strip().split('-')
fresh_ranges.append(iVec2d(int(n1), int(n2)))
for ingredient_id in ids.split("\n"):
available_ids.append(int(ingredient_id.strip()))
fresh_ingredients = 0
for ingredient_id in available_ids:
for fresh_range in fresh_ranges:
if ingredient_id >= fresh_range.x and ingredient_id <= fresh_range.y:
fresh_ingredients += 1
break
print(f'Fresh Ingredients: {fresh_ingredients}')