Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
def main(data: str):
    packages = parse_integer_list(data)
    yield part_1(packages)
    yield part_2(packages)
Esempio n. 4
0
def main(data: str):
    yield from find_2020_sums(parse_integer_list(data))
Esempio n. 5
0
def main(data: str):
    yield from count_container_combinations(parse_integer_list(data))
Esempio n. 6
0
def main(data: str):
    jumps = parse_integer_list(data)
    yield trampolines(jumps)
    yield weird_trampolines(jumps)