aoc2025/bob/day05/day05-p1.py

42 lines
936 B
Python

def item_in_range(item, id_range):
start = id_range[0]
end = id_range[1]
return start <= item <= end
def check_item(item, id_ranges):
for id_range in id_ranges:
if item_in_range(item, id_range):
return True
return False
def read_input(filename):
id_ranges = []
inventory = []
read_range = True
for line in open(filename).read().splitlines():
if line == "":
read_range = False
continue
if read_range:
id_range = line.split("-")
id_ranges.append((int(id_range[0]),int(id_range[1])))
else:
inventory.append(int(line))
return id_ranges, inventory
# filename = "day05/example_input" # 3
filename = "day05/input" # 679
id_ranges, inventory = read_input(filename)
counter = 0
for item in inventory:
if check_item(item, id_ranges):
counter += 1
print(f"Fresh items: {counter}")