My Advent of Code solutions in Python. kevinyap.ca/2019/12/going-fast-in-advent-of-code/
advent-of-code python
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update day05.py

+10 -10
+10 -10
2016/day05.py
··· 5 5 6 6 print "Using door ID: %s" % door_id 7 7 8 - old_password = '' 9 - new_password = [None for _ in range(8)] 8 + pass_1 = '' 9 + pass_2 = [None for _ in range(8)] 10 10 11 11 i = 0 12 12 13 - while len(old_password) < 8 or None in new_password: 13 + while len(pass_1) < 8 or None in pass_2: 14 14 digest = md5(door_id + str(i)).hexdigest() 15 15 16 16 if digest.startswith('00000'): 17 - print "Hash found! %s (%i)" % (digest, i) 17 + print "Hash found! %s (%08i)" % (digest, i) 18 18 19 - if len(old_password) < 8: 20 - old_password += digest[5] 19 + if len(pass_1) < 8: 20 + pass_1 += digest[5] 21 21 22 22 pos = int(digest[5], 16) 23 23 char = digest[6] 24 24 25 - if pos < 8 and new_password[pos] is None: 26 - new_password[pos] = char 25 + if pos < 8 and pass_2[pos] is None: 26 + pass_2[pos] = char 27 27 28 28 i += 1 29 29 30 - print "First password is: %s" % old_password 31 - print "Second password is: %s" % ''.join(new_password) 30 + print "Password 1 is: %s" % pass_1 31 + print "Password 2 is: %s" % ''.join(pass_2)