Day 9
This commit is contained in:
parent
5d09932b11
commit
5bc5c4042e
32
2020/day9.py
Normal file
32
2020/day9.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
import itertools
|
||||
|
||||
|
||||
def main():
|
||||
with open("day9.txt", "rt") as f:
|
||||
series = [int(line.rstrip()) for line in f.readlines()]
|
||||
|
||||
# Part 1
|
||||
frame_len = 25
|
||||
for i in range(len(series) - frame_len):
|
||||
frame = series[i : i + frame_len]
|
||||
n = series[i + frame_len]
|
||||
for a, b in itertools.combinations(frame, 2):
|
||||
if a + b == n:
|
||||
break
|
||||
else:
|
||||
print("Invalid N:", n)
|
||||
break
|
||||
|
||||
# Part 2
|
||||
for i in range(len(series)): # what is indexerror when you know it breaks
|
||||
for j in range(1, len(series)):
|
||||
frame = series[i : i + j + 1]
|
||||
if (s := sum(frame)) == n:
|
||||
print("Answer:", min(frame) + max(frame))
|
||||
return
|
||||
elif s > n:
|
||||
break
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue