Advent of Code 2020: Python Solution Day 10

qviper

Viper

Posted on December 10, 2020

Advent of Code 2020: Python Solution Day 10

I nearly forgot about doing the challenge. Part one was easy and part two was bit tricky so I did wrong at first and got help from this repo. Again I tried it first on test input and only then on real one. My solution is at this repository.

Part one

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)
Enter fullscreen mode Exit fullscreen mode

Part two

# 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)])
Enter fullscreen mode Exit fullscreen mode

Lets Share Your Solution too.

I write blogs about Computer Vision projects on my GitHub page q-viper.github.io and if you got some time please share yours too.

💖 💪 🙅 🚩
qviper
Viper

Posted on December 10, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Advent of Code 2020: Python Solution Day 21
adventofcode Advent of Code 2020: Python Solution Day 21

December 21, 2020

Advent of Code 2020: Python Solution Day 18
adventofcode Advent of Code 2020: Python Solution Day 18

December 18, 2020

Advent of Code 2020: Python Solution Day 10
adventofcode Advent of Code 2020: Python Solution Day 10

December 10, 2020

Advent of Code 2020: Python Solution Day 9
adventofcode Advent of Code 2020: Python Solution Day 9

December 9, 2020