advent-of-code/2024/day1/first.py
2024-12-02 11:14:30 +01:00

29 lines
706 B
Python

from pathlib import Path
def get_ordered_lists(data_file: Path) -> tuple[list[int], list[int]]:
list1 = list()
list2 = list()
for line in data_file.open():
numbers = line.strip().split(" ")
list1.append(int(numbers[0]))
list2.append(int(numbers[1]))
return sorted(list1), sorted(list2)
def compute_distance(list1, list2) -> int:
return sum([abs(item2 - item1) for item1, item2 in zip(list1, list2)])
def compute(data_file: Path) -> int:
list1, list2 = get_ordered_lists(data_file)
return compute_distance(list1, list2)
def main():
file = Path(__file__).parent / "first-input"
print(compute(file))
if __name__ == "__main__":
main()