From d196ee85721656978147945de67761ca359640ac Mon Sep 17 00:00:00 2001 From: tebarius Date: Mon, 9 Dec 2024 20:31:13 +0100 Subject: [PATCH] 09-2 fail --- 09/09-1.py | 2 ++ 09/{09-2.py => 09-2-fail.py} | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) rename 09/{09-2.py => 09-2-fail.py} (82%) diff --git a/09/09-1.py b/09/09-1.py index c395cb4..1d40890 100644 --- a/09/09-1.py +++ b/09/09-1.py @@ -62,7 +62,9 @@ if __name__ == "__main__": #print(extend_input_to_list(input_string)) ex = extend_input_to_list(input_string) #print(de_frag(extend_input_to_list(input_string))) + print(len(ex)) de = de_frag(ex) + print(len(de)) sol = checksum(de) print(f'Solution: {sol}') print(f'Runtime: {time()-start_time:.2f} s') \ No newline at end of file diff --git a/09/09-2.py b/09/09-2-fail.py similarity index 82% rename from 09/09-2.py rename to 09/09-2-fail.py index 79d393d..5d668eb 100644 --- a/09/09-2.py +++ b/09/09-2-fail.py @@ -1,5 +1,9 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- + +# works for example but not for puzzle-input + + #file = "./input.txt" file = "./ex2.txt" #file = "./ex1.txt" @@ -21,20 +25,22 @@ def input_to_list(input_str:str) -> list[list[int]]: def de_frag(il:list[list[int]]) -> list[list[int]]: for i in range(len(il)-1, 0, -1): for j in range(len(il)): + if il[j][2] == 0: + continue if j >= i: break if il[j][2] >= il[i][1]: - - il.insert(j+1, il.pop(i)) #print(il[j],il[j+1],il[i], end=" ----> ") - il[i][2] += il[j+1][1] - il[i][2] += il[j+1][2] - il[j+1][2] = il[j][2] - il[j+1][1] + tjf = il[j][2] + # tjl = il[j][1] + tif = il[i][2] + til = il[i][1] + il.insert(j+1, il.pop(i)) il[j][2] = 0 - - + il[j+1][2] = tjf-til + il[i][2] += til+tif #print(il[j],il[j+1],il[i]) - + #print(il) return il def checksum(il:list[list[int]]) -> int: