2017-12-05 - A Maze of Twisty Trampolines, All Alike
(original .ipynb)puzzle_input_str = open("puzzle_input/day5.txt").read() def step(mem, pc): ret_val = mem[pc] mem[pc] += 1 return ret_val def part_one(input_str): cycles = 0 pc = 0 memory = [ int(line.strip()) for line in input_str.split("\n") ] while pc >= 0 and pc < len(memory): pc += step(memory, pc) cycles += 1 return cycles print("part one:", part_one(puzzle_input_str))
part one: 359348
def step2(mem, pc): ret_val = mem[pc] if ret_val >= 3: mem[pc] -= 1 else: mem[pc] += 1 return ret_val def part_two(input_str): cycles = 0 pc = 0 memory = [ int(line.strip()) for line in input_str.split("\n") ] while pc >= 0 and pc < len(memory): pc += step2(memory, pc) cycles += 1 return cycles print("part two:", part_two(puzzle_input_str))
part two: 27688760