18 lines
562 B
Python
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) |