day 9, refactor
This commit is contained in:
parent
1d4c5f6f81
commit
95665139a7
11
d09/part1.py
11
d09/part1.py
|
@ -1,11 +0,0 @@
|
||||||
import sys
|
|
||||||
|
|
||||||
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
|
|
||||||
|
|
||||||
def extrapolate(L):
|
|
||||||
if all(not a for a in L):
|
|
||||||
return L+[0]
|
|
||||||
M = [b-a for a,b in zip(L,L[1:])]
|
|
||||||
return L+[L[-1]+extrapolate(M)[-1]]
|
|
||||||
|
|
||||||
print(sum(extrapolate(l)[-1] for l in L))
|
|
11
d09/part2.py
11
d09/part2.py
|
@ -1,11 +0,0 @@
|
||||||
import sys
|
|
||||||
|
|
||||||
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
|
|
||||||
|
|
||||||
def extrapolate(L):
|
|
||||||
if all(not a for a in L):
|
|
||||||
return [0]+L
|
|
||||||
M = [b-a for a,b in zip(L,L[1:])]
|
|
||||||
return [L[0]-extrapolate(M)[0]]+L
|
|
||||||
|
|
||||||
print(sum(extrapolate(l)[0] for l in L))
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
import sys
|
||||||
|
|
||||||
|
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
|
||||||
|
|
||||||
|
def extrapolate(L):
|
||||||
|
if all(a == 0 for a in L):
|
||||||
|
return 0
|
||||||
|
M = [b-a for a,b in zip(L,L[1:])]
|
||||||
|
return L[-1]+extrapolate(M)
|
||||||
|
|
||||||
|
print(sum(extrapolate(l) for l in L))
|
||||||
|
print(sum(extrapolate(l[::-1]) for l in L))
|
Loading…
Reference in New Issue