day 9, refactor

This commit is contained in:
setop 2023-12-09 13:50:09 +01:00
parent 1d4c5f6f81
commit 95665139a7
3 changed files with 12 additions and 22 deletions

View File

@ -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))

View File

@ -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))

12
d09/run.py Normal file
View File

@ -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))