advent-of-code/2024/day1/day1.py

24 lines
563 B
Python
Raw Normal View History

2024-12-03 14:29:36 +00:00
from collections import Counter
def main(lines):
firsts, seconds = list(sorted(x[0] for x in lines)), list(sorted(x[1] for x in lines))
total = sum(abs(a - b) for (a, b) in zip(firsts, seconds))
print("Part 1: ", total)
counts = Counter(seconds)
total = sum(x * counts[x] for x in firsts)
print("Part 2: ", total)
if __name__ == "__main__":
import sys
infile = sys.argv[1]
with open(infile) as f:
lines = f.readlines()
lines = [list(map(int, x.rstrip().split())) for x in lines]
main(lines)