advent-of-code/src/holt59/aoc/2021/day7.py
Mikaël Capelle 1b4dd32898
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
Refactor 2021 for new UI.
2024-12-08 14:03:34 +01:00

23 lines
631 B
Python

from typing import Any, Iterator
from ..base import BaseSolver
class Solver(BaseSolver):
def solve(self, input: str) -> Iterator[Any]:
positions = [int(c) for c in input.split(",")]
min_position, max_position = min(positions), max(positions)
# part 1
yield min(
sum(abs(p - position) for p in positions)
for position in range(min_position, max_position + 1)
)
# part 2
yield min(
sum(abs(p - position) * (abs(p - position) + 1) // 2 for p in positions)
for position in range(min_position, max_position + 1)
)