Co-authored-by: Mikael CAPELLE <mikael.capelle@thalesaleniaspace.com> Co-authored-by: Mikaël Capelle <capelle.mikael@gmail.com> Reviewed-on: #3
22 lines
631 B
Python
22 lines
631 B
Python
from typing import Any, Iterator
|
|
|
|
from ..base import BaseSolver
|
|
|
|
|
|
class Solver(BaseSolver):
|
|
def solve(self, input: str) -> Iterator[Any]:
|
|
values = [int(c) for c in input.split(",")]
|
|
|
|
days = 256
|
|
lanterns = {day: 0 for day in range(days)}
|
|
for value in values:
|
|
for day in range(value, days, 7):
|
|
lanterns[day] += 1
|
|
|
|
for day in range(days):
|
|
for day2 in range(day + 9, days, 7):
|
|
lanterns[day2] += lanterns[day]
|
|
|
|
yield sum(v for k, v in lanterns.items() if k < 80) + len(values)
|
|
yield sum(lanterns.values()) + len(values)
|