Day 9 solution !
This commit is contained in:
30
2020/day_9/encoding_error.py
Normal file
30
2020/day_9/encoding_error.py
Normal file
@@ -0,0 +1,30 @@
|
||||
def is_sum(number, series):
|
||||
for i in series:
|
||||
if (number - i) in series:
|
||||
return True
|
||||
return False
|
||||
|
||||
def find_contiguous_sum(number, series):
|
||||
for i in range(0, len(series)):
|
||||
for j in range(i, len(series)):
|
||||
if sum(series[i:j + 1]) == number:
|
||||
return series[i:j+1]
|
||||
|
||||
|
||||
def solve_a(data, length):
|
||||
for i in range(length, len(data)):
|
||||
number = data[i]
|
||||
if not is_sum(number, data[i - length:i]):
|
||||
return number
|
||||
|
||||
def solve_b(number, data):
|
||||
series = find_contiguous_sum(number, data)
|
||||
series.sort()
|
||||
return series[0] + series[-1]
|
||||
|
||||
data = [int(line.strip()) for line in open('input')]
|
||||
|
||||
result = solve_a(data, 25)
|
||||
print(result)
|
||||
print(solve_b(result, data))
|
||||
|
||||
Reference in New Issue
Block a user