Create day09.py

This commit is contained in:
kamoshi 2020-12-09 09:53:08 +01:00 committed by GitHub
parent 4901654d5f
commit 55b0751df6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

36
2020/Python/day09.py Normal file
View file

@ -0,0 +1,36 @@
input_data = []
with open("input.txt") as file:
for line in file:
input_data.append(int(line.rstrip()))
def solve_p1(data: list[int], preamble: int) -> int:
def check_number(number: int, slice: list[int]):
for i in range(len(slice)):
for j in range(i + 1, len(slice)):
if number == slice[i] + slice[j]:
return True
return False
for i in range(preamble, len(data)):
if not check_number(data[i], data[i-preamble:i]):
return data[i]
return -1
def solve_p2(data: list[int], solution_p1: int) -> int:
for i in range(len(data)):
for j in range(i + 1, len(data)):
slice = data[i:j]
if solution_p1 == sum(slice):
return min(slice) + max(slice)
return -1
print(solution1 := solve_p1(input_data, 25))
print(solve_p2(input_data, solution1))