Files
AdventOfCode2025/05/05-2.py
2025-12-05 21:07:24 +01:00

40 lines
1.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
#file = "./ex.txt"
file = "./input.txt"
def merge_intervals(intervals):
if not intervals:
return []
intervals = sorted(intervals, key=lambda x: x[0])
merged = [intervals[0]]
for start, end in intervals[1:]:
last_start, last_end = merged[-1]
if start <= last_end:
merged[-1] = (last_start, max(last_end, end))
else:
merged.append((start, end))
return merged
if __name__ == "__main__":
time_start = time.time()
solution = 0
fresh_ranges = []
input_file = open(file, "r")
for line in input_file:
line = line.strip()
if line == "" or "-" not in line:
continue
else:
a,b = line.split('-')
a = int(a)
b = int(b)
fresh_ranges.append([a,b])
id_set = set()
merged_ranges = merge_intervals(fresh_ranges)
for st, en in merged_ranges:
solution += (en - st + 1)
print(f"Solution: {solution} benötigte Zeit = {time.time()-time_start} s")