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