Compare commits

...

4 commits

4 changed files with 2050 additions and 0 deletions

25
2024/d01/ex1/ex1.py Executable file
View file

@ -0,0 +1,25 @@
#!/usr/bin/env python
import sys
def solve(input: list[str]) -> int:
def parse(input: list[str]) -> tuple[list[int], list[int]]:
left, right = [], []
for line in input:
lhs, rhs = line.split()
left.append(int(lhs))
right.append(int(rhs))
return left, right
left, right = parse(input)
return sum(abs(lhs - rhs) for lhs, rhs in zip(sorted(left), sorted(right)))
def main() -> None:
input = sys.stdin.read().splitlines()
print(solve(input))
if __name__ == "__main__":
main()

1000
2024/d01/ex1/input Normal file

File diff suppressed because it is too large Load diff

25
2024/d01/ex2/ex2.py Executable file
View file

@ -0,0 +1,25 @@
#!/usr/bin/env python
import sys
def solve(input: list[str]) -> int:
def parse(input: list[str]) -> tuple[list[int], list[int]]:
left, right = [], []
for line in input:
lhs, rhs = line.split()
left.append(int(lhs))
right.append(int(rhs))
return left, right
left, right = parse(input)
return sum(lhs * right.count(lhs) for lhs in left)
def main() -> None:
input = sys.stdin.read().splitlines()
print(solve(input))
if __name__ == "__main__":
main()

1000
2024/d01/ex2/input Normal file

File diff suppressed because it is too large Load diff