In [1]:
directions = Dict(
"n" =>[ 0, 1,-1],
"s" =>[ 0,-1, 1],
"ne"=>[ 1, 0,-1],
"sw"=>[-1, 0, 1],
"se"=>[ 1,-1, 0],
"nw"=>[-1, 1, 0]
)
function distance(steps)
m = 0
p = [0, 0, 0]
for s in steps
p += directions[s]
m = max(m, sum(abs, p))
end
(div(sum(abs, p), 2), div(m, 2))
end
Out[1]:
In [2]:
distance(["ne", "ne", "ne"])
Out[2]:
In [3]:
distance(["ne","ne","sw","sw"])
Out[3]:
In [4]:
open("inputs/day11.txt") do fd
steps = split(strip(readstring(fd)), ',')
distance(steps)
end
Out[4]:
In [ ]: