def main(data: str): numbers = parse_integer_list(data) # Part 1 yield sum(mass // 3 - 2 for mass in numbers) # Part 2 total_fuel = 0 for fuel in numbers: while (fuel := fuel // 3 - 2) > 0: total_fuel += fuel
def main(data: str): mem = parse_integer_list(data) states = set([]) cycles = 0 while True: if tuple(mem) in states: yield cycles states = set([]) cycles = 0 states.add(tuple(mem)) mem = rebalance(mem) cycles += 1
def main(data: str): packages = parse_integer_list(data) yield part_1(packages) yield part_2(packages)
def main(data: str): yield from find_2020_sums(parse_integer_list(data))
def main(data: str): yield from count_container_combinations(parse_integer_list(data))
def main(data: str): jumps = parse_integer_list(data) yield trampolines(jumps) yield weird_trampolines(jumps)