Files
advent-of-code-2025/day2/part2.py
2025-12-05 13:58:49 -08:00

28 lines
570 B
Python

FILE = "input.txt"
def main():
line = open(FILE).readlines()[0].strip()
ranges = [
[int(n) for n in l.split("-")]
for l in line.split(",")
]
invalid_ids = [
id
for (start, end) in ranges
for id in range(start, end + 1)
if invalid(str(id))
]
return sum(invalid_ids)
def invalid(id: str) -> bool:
for n in range(1, len(id)//2 + 1):
sub = { id[i:i+n] for i in range(0, len(id), n) }
if len(sub) == 1: return True
return False
if __name__ == "__main__":
print(main())