Day 6: Part 1

This commit is contained in:
2025-12-07 16:08:05 +01:00
parent 1e05bce4fc
commit 5c914f5b58

View File

@@ -23,6 +23,18 @@ for item in maybeRotten:
safeFoodNumber+=1 safeFoodNumber+=1
break break
print(safeRanges) # merge intervals and count unique IDs without allocating every ID
print(maybeRotten) merged = []
print(safeFoodNumber) for start, end in sorted(safeRanges, key=lambda r: r[0]):
if not merged or start > merged[-1][1] + 1:
merged.append([start, end])
else:
merged[-1][1] = max(merged[-1][1], end)
total_covered = sum(end - start + 1 for start, end in merged)
#print(total_covered)
# if you need the compact intervals for lookups later: safeRanges = merged
#print(safeRanges)
#print(maybeRotten)
print(f"Part 1: {safeFoodNumber}\n\rPart 2: {total_covered}")