This commit is contained in:
Holly McFarland 2025-12-05 23:28:48 -05:00
parent daa6077257
commit 5199074512
2 changed files with 45 additions and 0 deletions

22
day-02/part-1.py Normal file
View File

@ -0,0 +1,22 @@
import aocd
def parse(data):
for range_ in data.strip().split(','):
yield range_.split('-')
def num_invalid(low, high):
low_int, high_int = int(low), int(high)
for id in map(str, range(low_int, high_int+1)):
if len(id) % 2: continue
if id[:len(id)//2] == id[len(id)//2:]:
yield int(id)
def main(data):
ranges = parse(data)
return sum(sum(num_invalid(*r)) for r in ranges)
if __name__ == '__main__':
solution = main(aocd.get_data(day=2, year=2025))
print(solution)
aocd.submit(solution, part='a', day=2, year=2025)

23
day-02/part-2.py Normal file
View File

@ -0,0 +1,23 @@
import aocd
import re
def parse(data):
for range_ in data.strip().split(','):
yield range_.split('-')
def num_invalid(low, high):
low_int, high_int = int(low), int(high)
for id in range(low_int, high_int+1):
if re.match(r'^((.+)\2+)$', str(id)):
yield int(id)
def main(data):
ranges = parse(data)
return sum(sum(num_invalid(*r)) for r in ranges)
if __name__ == '__main__':
solution = main(aocd.get_data(day=2, year=2025))
print(solution)
aocd.submit(solution, part='b', day=2, year=2025)