feat: add solution 2019/01

This commit is contained in:
2025-12-01 22:39:29 +01:00
parent 0000001043
commit 000000200c
2 changed files with 38 additions and 0 deletions

View File

View File

@@ -0,0 +1,38 @@
from typing import Any
def fuel_req(mass: int) -> int:
return max(mass // 3 - 2, 0)
def rec_fuel_req(mass: int) -> int:
fuel = fuel_req(mass)
if fuel == 0:
return 0
return fuel + rec_fuel_req(fuel)
def part_1_2(input_data: str) -> Any:
req1, req2 = 0, 0
for line in input_data.splitlines():
mass = int(line)
req1 += fuel_req(mass)
req2 += rec_fuel_req(mass)
return req1, req2
def test_fuel_req() -> None:
assert fuel_req(12) == 2
assert fuel_req(14) == 2
assert fuel_req(1969) == 654
assert fuel_req(100756) == 33583
def test_rec_fuel_req() -> None:
assert rec_fuel_req(14) == 2
assert rec_fuel_req(1969) == 966
assert rec_fuel_req(100756) == 50346