diff --git a/day1/part1.py b/day1/part1.py index 840128e..f9e30f2 100644 --- a/day1/part1.py +++ b/day1/part1.py @@ -1,10 +1,14 @@ from common import parse, split_and_sort +def solve(l1: list[int], l2: list[int]) -> int: + assert len(l1) == len(l2) + return sum(map(lambda i: abs(l1[i] - l2[i]), range(len(l1)))) + + def main() -> None: l1, l2 = split_and_sort(parse("input")) - assert len(l1) == len(l2) - print(sum(map(lambda i: abs(l1[i] - l2[i]), range(len(l1))))) + print(solve(l1, l2)) if __name__ == "__main__": diff --git a/day1/part2.py b/day1/part2.py index 9b5b741..de490b9 100644 --- a/day1/part2.py +++ b/day1/part2.py @@ -1,9 +1,13 @@ from common import parse, split +def solve(l1: list[int], l2: list[int]) -> int: + return sum(map(lambda x: x * len(list(filter(lambda y: y == x, l2))), l1)) + + def main(): l1, l2 = split(parse("input")) - print(sum(map(lambda x: x * len(list(filter(lambda y: y == x, l2))), l1))) + print(solve(l1, l2)) if __name__ == "__main__":