In [1]:
function steps_out(maze)
i = 1
steps = 0
while i>0 && i<=length(maze)
prev_i = i
i += maze[i]
maze[prev_i] += 1
steps += 1
end
steps
end
Out[1]:
In [2]:
steps_out([0 3 0 1 -3])
Out[2]:
In [3]:
steps_out(readdlm("inputs/day5.txt", Int16))
Out[3]:
In [4]:
function steps_out_part2(maze)
i = 1
steps = 0
while i>0 && i<=length(maze)
prev_i = i
i += maze[i]
if maze[prev_i] >= 3
maze[prev_i] -= 1
else
maze[prev_i] += 1
end
steps += 1
end
steps
end
Out[4]:
In [5]:
steps_out_part2(readdlm("inputs/day5.txt", Int16))
Out[5]:
In [ ]: