Files
AoC-2020/day9/day9.py
2020-12-10 22:25:53 +01:00

52 lines
1.1 KiB
Python

def valid(num, previous):
for i in range(0, len(previous)):
for j in range(0, len(previous)):
if previous[i] + previous[j] == num:
return True
return False
def part1():
file = open("input.txt")
preamble_length = 25
lines = [int(i) for i in file.readlines()]
queue = []
for i in range(0, preamble_length):
number = lines[i]
queue.append(number)
for i in range(preamble_length, len(lines)):
number = int(lines[i])
if not valid(number, queue):
break
queue.pop(0)
queue.append(number)
print("Part 1: %d" % number)
return number, lines
def part2():
number, lines = part1()
for size in range(2, len(lines)):
for finger in range(0, len(lines) - size):
subset = lines[finger:(finger + size)]
subset = [int(i) for i in subset]
if sum(subset) == number:
ans = min(subset) + max(subset)
print("Part 2: %d" % ans)
return
if __name__ == "__main__":
# part1()
part2()