advent-of-code

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 305e20b2f6c6f58c010d47551a2b075019706b92
parent 6160d092340668718e1a0d2f6d43fee6086be5d5
Author: mpizzzle <michael.770211@gmail.com>
Date:   Sun, 10 Dec 2017 18:06:49 +0000

minor refactoring

Diffstat:
Mpuzzle10.py | 29++++++++++++-----------------
1 file changed, 12 insertions(+), 17 deletions(-)

diff --git a/puzzle10.py b/puzzle10.py @@ -5,33 +5,28 @@ with open('files/puzzle10.txt') as f: puzzle_ascii.extend([17, 31, 73, 47, 23]) my_list = [i for i in range(256)] -skip, pos = 0, 0 +skip, pos = [0], [0] -for length in puzzle_input: - twist = reversed([my_list[i % len(my_list)] for i in range(pos, pos + length)]) - for i, t in zip(range(pos, pos + length), twist): - my_list[i % len(my_list)] = t - pos += length + skip - skip += 1 +def round(this_input, this_list, skip, pos): + for length in this_input: + twist = reversed([this_list[i % len(this_list)] for i in range(pos[0], pos[0] + length)]) + for i, t in zip(range(pos[0], pos[0] + length), twist): + this_list[i % len(this_list)] = t + pos[0] += length + skip[0] + skip[0] += 1 +round(puzzle_input, my_list, skip, pos) print my_list[0] * my_list[1] my_list = [i for i in range(256)] -skip, pos = 0, 0 +skip, pos = [0], [0] for i in range(64): - for length in puzzle_ascii: - twist = reversed([my_list[i % len(my_list)] for i in range(pos, pos + length)]) - for i, t in zip(range(pos, pos + length), twist): - my_list[i % len(my_list)] = t - pos += length + skip - skip += 1 - -blocks = [my_list[i:i + 16] for i in range(0, len(my_list), 16)] + round(puzzle_ascii, my_list, skip, pos) knot_hash = [] -for block in blocks: +for block in [my_list[i:i + 16] for i in range(0, len(my_list), 16)]: value = 0 for i in block: value ^= i