Рубрики
Без рубрики

Пришествие кода 2020: День раствора Python 10

Я чуть не забыл о том, чтобы сделать вызов. Первая часть была легкой, а часть вторая была немного сложной Итак, я сделал … Tagged with AdventofCode, алгоритмы, Python, Challenge.

Я чуть не забыл о том, чтобы сделать вызов. Первая часть была легкой, а часть вторая была немного сложной Так что сначала я поступил неправильно и получил помощь от этого Репо Анкет Снова я попробовал это сначала при тестовом вводе и только тогда на реальном. Мое решение в этом Репозиторий Анкет

Первая часть

with open("day10.txt", "r") as fp:
    lines = [int(line.rstrip()) for line in fp.readlines()]

one_jolt = 0
two_jolt = 0
three_jolt = 0 
outlet_rating = 0
lines.append(max(lines)+3) # because max jolt is added


while True:
    #print(1 in lines)
    if (outlet_rating + 1) in lines:
        one_jolt+=1
        outlet_rating += 1
    elif outlet_rating+2 in lines:
        two_jolt+=1
    elif (outlet_rating + 3) in lines:
        three_jolt += 1
        outlet_rating+=3
    else:
        break
print("Part 1 answer is ", one_jolt*three_jolt)

Часть вторая

# part 2
sol = {0:1}
for line in sorted(lines):
    sol[line] = 0
    if line - 1 in sol:
        sol[line]+=sol[line-1]
    if line - 2 in sol:
        sol[line]+=sol[line-2]
    if line - 3 in sol:
        sol[line]+=sol[line-3]

print(sol[max(lines)])

Давайте поделимся вашим решением тоже.

Я пишу блоги о проектах компьютерного зрения на моей странице GitHub q-viper.github.io И если у вас есть время, пожалуйста, поделитесь своим.

Оригинал: “https://dev.to/qviper/advent-of-code-2020-python-solution-day-10-30kd”