parent
0b8d1d8099
commit
e4c7345d33
@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env julia
|
||||||
|
|
||||||
|
infile = size(ARGS, 1) > 0 ? ARGS[1] : "day2input.txt"
|
||||||
|
println("infile = ", infile)
|
||||||
|
|
||||||
|
a_move_value = Dict("A"=>1, "B"=>2, "C"=>3)
|
||||||
|
x_move_value = Dict("X"=>1, "Y"=>2, "Z"=>3)
|
||||||
|
function score(opponent, self)
|
||||||
|
global a_move_value, x_move_value
|
||||||
|
oval = a_move_value[opponent]
|
||||||
|
sval = x_move_value[self]
|
||||||
|
|
||||||
|
diff = sval - oval
|
||||||
|
|
||||||
|
if diff == 0
|
||||||
|
# tie
|
||||||
|
return 3 + sval
|
||||||
|
elseif (diff == 1 || diff == -2)
|
||||||
|
# win
|
||||||
|
return 6 + sval
|
||||||
|
else
|
||||||
|
# loss
|
||||||
|
return sval
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
io = open(infile, "r")
|
||||||
|
total = 0
|
||||||
|
for line in eachline(io)
|
||||||
|
global total
|
||||||
|
o, s = split(line)
|
||||||
|
total += score(o, s)
|
||||||
|
end
|
||||||
|
|
||||||
|
println(total)
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env julia
|
||||||
|
|
||||||
|
infile = size(ARGS, 1) > 0 ? ARGS[1] : "day2input.txt"
|
||||||
|
println("infile = ", infile)
|
||||||
|
|
||||||
|
a_move_value = Dict("A"=>1, "B"=>2, "C"=>3)
|
||||||
|
function score(opponent, self)
|
||||||
|
oval = a_move_value[opponent]
|
||||||
|
|
||||||
|
if self == "X"
|
||||||
|
# need to lose
|
||||||
|
sval = 1 + mod(oval - 2, 3)
|
||||||
|
return sval
|
||||||
|
elseif self == "Y"
|
||||||
|
# need to tie
|
||||||
|
sval = oval
|
||||||
|
return 3 + sval
|
||||||
|
else
|
||||||
|
# need to win
|
||||||
|
sval = 1 + mod(oval, 3)
|
||||||
|
return 6 + sval
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
io = open(infile, "r")
|
||||||
|
total = 0
|
||||||
|
for line in eachline(io)
|
||||||
|
global total
|
||||||
|
o, s = split(line)
|
||||||
|
total += score(o, s)
|
||||||
|
end
|
||||||
|
|
||||||
|
println(total)
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue