-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday02.jl
39 lines (35 loc) · 819 Bytes
/
day02.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function pos1(cmds)
x, y = 0, 0
for (cmd, n) ∈ cmds
if cmd == "forward"
x += n
elseif cmd == "down"
y += n
elseif cmd == "up"
y -= n
end
end
return x * y
end
function pos2(cmds)
x, y, aim = 0, 0, 0
for (cmd, n) ∈ cmds
if cmd == "forward"
x += n
y += n * aim
elseif cmd == "down"
aim += n
elseif cmd == "up"
aim -= n
end
end
return x * y
end
cmds = map(readlines("data/day02.txt")) do x
a, b = split(x)
return a, parse(Int, b)
end
# Part 1 - What do you get if you multiply your final horizontal position by your final depth?
println("part1 = ", pos1(cmds))
# Part 2 - Using this new interpretation... What do you get if you multiply your final horizontal position by your final depth?
println("part2 = ", pos2(cmds))