• [^] # Re: jour 5

    Posté par (Mastodon) . En réponse au journal Advent of Code 2025. Évalué à 2.

    Jour 5, 6, 7, 8, pas d'ordinateur, résolus en balade, dans la forêt, sur un téléphone...

    Donc concis, moche, peu clair, mais un minimum performant, et je me rappelle plus de l'énoncé, alors pour expliquer...

    def range_ingredients(a,b):
     return range(min(a, b), max(a, b)+1)
    ranges=[
     range_ingredients(*(int(_) for _ in l.split("-")))
     for l in data
     if "-" in l
    ]
    ingredients={int(l) for l in data if l and "-" not in l}
    ex1=sum(any(i in r for r in ranges) for i in ingredients)
    ranges=sorted(sorted(int(_) for _ in l.split("-")) for l in data if "-" in l)
    a=b=ranges[0][0]
    ex2=0
    for c, d in ranges:
     if c <= b:
     b=max(b, d)
     else:
     ex2+=b-a+1
     a,b=c,d
    ex2+=b-a+1
    • Yth.