diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..21c63e4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "[python]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "charliermarsh.ruff", + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + } + }, + "ruff.nativeServer": "on", + "ruff.lineLength": 119 +} diff --git a/day1/common.py b/day1/common.py index 17a39cb..75c654f 100644 --- a/day1/common.py +++ b/day1/common.py @@ -1,8 +1,8 @@ - def parse(filename: str) -> list: - with open(filename, 'r') as f: + with open(filename, "r") as f: return [line[:-1] for line in f.readlines()] - + + def split(parsed: list[str]) -> tuple[list[int], list[int]]: l1 = [] l2 = [] @@ -12,6 +12,7 @@ def split(parsed: list[str]) -> tuple[list[int], list[int]]: l2.append(int(c2)) return l1, l2 + def split_and_sort(parsed: list[str]) -> tuple[list[int], list[int]]: l1, l2 = split(parsed) - return sorted(l1), sorted(l2) \ No newline at end of file + return sorted(l1), sorted(l2) diff --git a/day1/part1.py b/day1/part1.py index 62e80bc..840128e 100644 --- a/day1/part1.py +++ b/day1/part1.py @@ -2,11 +2,10 @@ from common import parse, split_and_sort def main() -> None: - l1, l2 = split_and_sort(parse('input')) - assert ( len(l1) == len(l2)) + 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))))) - -if __name__ == '__main__': - main() \ No newline at end of file +if __name__ == "__main__": + main() diff --git a/day1/part2.py b/day1/part2.py index abd910f..9b5b741 100644 --- a/day1/part2.py +++ b/day1/part2.py @@ -2,9 +2,9 @@ from common import parse, split def main(): - l1, l2 = split(parse('input')) + l1, l2 = split(parse("input")) print(sum(map(lambda x: x * len(list(filter(lambda y: y == x, l2))), l1))) -if __name__ == '__main__': - main() \ No newline at end of file +if __name__ == "__main__": + main()