Solve day2
This commit is contained in:
27
day2/part2.py
Normal file
27
day2/part2.py
Normal file
@@ -0,0 +1,27 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user