day08/09
This commit is contained in:
53
day09/module.py
Normal file
53
day09/module.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from aoc.input import get_input
|
||||
import copy
|
||||
import itertools
|
||||
import time
|
||||
import collections
|
||||
import re
|
||||
from aoc.partselector import part_one, part_two
|
||||
import functools
|
||||
|
||||
def pw(line):
|
||||
return int(line.strip())
|
||||
|
||||
def p1():
|
||||
inp = get_input(pw)
|
||||
for i in range(25, len(inp)):
|
||||
possible_values = set()
|
||||
for sample in itertools.combinations(inp[i-25:i], 2):
|
||||
possible_values.add(sum(sample))
|
||||
if inp[i] not in possible_values:
|
||||
print (inp[i])
|
||||
return inp
|
||||
|
||||
|
||||
|
||||
return inp
|
||||
|
||||
|
||||
def p2(inp):
|
||||
l = 1398413738
|
||||
i = 636
|
||||
d = {}
|
||||
for j in range(2, 25):
|
||||
possible_values = set()
|
||||
for sample in range(1,636):
|
||||
possible_values.add(sum(inp[sample: sample+j]))
|
||||
d [sum(inp[sample: sample+j])] = inp[sample: sample+j]
|
||||
if l in possible_values:
|
||||
print(min(d[l]) + max(d[l]))
|
||||
return (min(d[l]) + max(d[l]))
|
||||
return 0
|
||||
|
||||
if part_one():
|
||||
start = time.time()
|
||||
result1 = p1()
|
||||
print(round(1000*(time.time() - start), 2), 'ms')
|
||||
|
||||
|
||||
if part_two():
|
||||
start = time.time()
|
||||
p2(result1)
|
||||
print(round(1000*(time.time() - start), 2), 'ms')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user