28 lines
570 B
Python
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())
|