advent-of-code-2025/day-05/part-1.py

18 lines
562 B
Python

import aocd
def parse(data):
ranges, ids = map(lambda s: s.split('\n'), data.strip().split('\n\n'))
return [range(a, b+1) for a, b in (map(int, r.split('-')) for r in ranges)], map(int, ids)
def is_fresh(ranges, id):
# This is acutally just fast in python
return any(id in r for r in ranges)
def main(data):
ranges, ids = parse(data)
return sum(is_fresh(ranges, id) for id in ids)
if __name__ == '__main__':
solution = main(aocd.get_data(day=5, year=2025))
print(solution)
aocd.submit(solution, part='a', day=5, year=2025)