Advent of Code 2020: Python Solution Day 10
Viper
Posted on December 10, 2020
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)
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)])
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.
💖 💪 🙅 🚩
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.