Advent of Code Solutions
I have set myself a personal challenge to try and get up to date with advent of code, a set of programming challenges released each December. Each day has 2 related problems, for a total of 50 problems per year. Each button below will show my code solving that problem. Green buttons where I have solved both problems of the day, orange where I have only solved the first one and red where I haven't solved either. Not started
Part 1 completed
Both parts completed
from util.input import get_input
from hashlib import md5
def part_1():
puzzle_input = get_input(2016, 5).strip()
password = ''
ind = 0
while len(password) < 8:
ind += 1
inp = puzzle_input + str(ind)
hashed = md5(inp.encode()).hexdigest()
if hashed[:5] == '00000':
password += hashed[5]
return password
def part_2():
puzzle_input = get_input(2016, 5).strip()
password = [''] * 8
ind = 0
while any(p == '' for p in password):
ind += 1
inp = puzzle_input + str(ind)
hashed = md5(inp.encode()).hexdigest()
if hashed[:5] == '00000' and hashed[5].isdigit() and int(hashed[5]) < 8:
if password[int(hashed[5])] == '':
password[int(hashed[5])] = hashed[6]
return ''.join(password)