diff --git a/day02/input b/day02/input new file mode 100644 index 0000000..44ee23a --- /dev/null +++ b/day02/input @@ -0,0 +1,2500 @@ +B X +A Z +A Y +B X +C Z +B Y +B X +C X +A Y +B Y +B Y +C Y +B Y +C Y +B X +A Z +C Y +B Z +C X +A Y +B Y +B Y +B Y +B Y +B X +B Y +C Y +B Y +B Y +B Y +A Y +B X +A Y +A Y +B X +B Z +B Y +C Y +A Y +A Z +C Y +A Z +C Z +C Y +B Z +C X +A Z +C Y +B X +B X +C Z +C Y +B Y +A X +C Z +B Y +B X +A Z +B Z +C Y +C Z +B X +B Y +B Y +C Y +B Y +B Y +C Y +B Z +A Y +B Y +C Y +B Y +B Y +B Y +C Y +B X +C X +C Y +B X +B X +C X +B Y +C Z +B Y +B Y +B Y +C Y +B X +A Z +C Y +A Z +B X +B X +A Y +C X +B Z +B Y +B X +C X +C X +B X +A Z +A Y +A Z +B X +B X +B Y +C Y +C Z +B Y +A Y +C Y +A Z +A X +A Y +B X +B Y +C Y +B Y +B Z +C X +B Y +B Z +C Y +C Y +C Z +B Y +C Y +B Y +C Y +A Z +A Z +A Z +B Y +B Y +C Z +B Y +C Y +B X +B X +A Y +B X +B X +C Y +C Z +B Y +A Z +A Y +C Y +B X +C Z +C Y +B Y +B Y +A Z +B Y +B Y +B X +B Z +A Z +C Y +A Z +C Z +B Y +B Y +A X +B X +A Z +B Y +C Z +A Y +B Y +A Z +C X +C Y +B Y +B Y +B Y +C Z +B X +C Z +B Y +C Y +C Y +B Y +C Y +C Z +B Y +C Z +B Y +B Y +B Y +A Y +A Y +B X +C Z +B Y +B Z +C Y +B Z +C Y +B Y +B X +B Y +C Y +C Z +B Y +A Y +B X +C Z +C Y +B X +B Y +B Y +C Z +C Z +A Z +B X +B X +C Z +B Y +B Y +B Y +B Y +A Y +B Y +B Y +B X +B Z +A Y +B X +C Y +B Y +B X +B Y +B Y +C Y +A Y +A Y +A Z +B Y +B Y +C Y +C Y +C Y +A Z +B Z +B Z +B Z +B Y +B X +B X +B Y +B Y +A Z +B Y +C Y +B X +B X +B Y +B X +A Z +C Y +C Y +C Y +C X +A Z +B Y +A Z +B X +B X +B Y +C Y +B X +C Y +A X +B Y +A Y +B Y +A X +A X +A Z +B X +B Y +B X +B X +A Z +B X +B X +C Y +C Y +B Y +B Z +B Y +A Y +B Z +C Z +C Y +B Z +B Y +B X +C Z +B Y +B Y +B Y +C X +A Z +B Y +B Y +A X +C Z +B Y +C X +B Y +B Z +B Z +A Z +C Y +B Y +B Y +C Y +B Y +B Y +C Y +B Y +C Y +A Z +C Y +B Z +C Z +B Z +C Y +B X +C Y +B X +B Y +B Y +C Y +C Y +C Z +B X +B Y +B Z +B Y +B X +B Y +B Y +B Y +A Y +C Y +C Y +A Y +B Y +A Y +B Y +C X +B Z +B Y +C Y +A Z +C Y +C X +B Y +B Y +B Y +B X +C Z +C X +B Y +B Y +A Z +A X +B Y +B X +C Y +B X +B Y +B X +A Z +A Y +C Y +B X +B Y +C Z +A Y +A Z +B Y +B Z +C Y +B Y +C Z +C Y +B Y +A Y +C X +A Y +B Y +A Z +B X +B Y +A Y +B Z +B Z +B Y +B Y +B X +C Y +C Y +C Y +B X +B Y +C Z +C X +B Y +A Z +A Y +B X +B X +C Z +C Y +A Z +C X +B Y +C Z +B X +B Y +B X +C X +B Y +B Y +B X +B Y +B Z +C Y +B Y +B Y +B Z +C Z +C Z +B Y +C Y +C Y +B Y +C X +B Y +C Y +B X +A Y +C X +C X +C Y +B Y +B Y +A X +B X +B Y +B X +B Y +C Y +C X +C Y +B X +B X +A Z +C Y +B Y +C Z +C Y +B Y +C Y +C Z +C Z +C Y +A Z +C Z +B Y +B Y +A Y +B Y +C Y +B Y +B Y +B Y +C Y +A Y +B Y +B X +A Y +B Y +B Y +C Y +B Y +B X +A Z +B Y +B Y +C Z +B Z +C Z +C Y +A Y +C Y +B Y +B Y +B Y +B Z +C Z +C Z +C Y +A Z +B Y +B Y +B Y +B Z +B Y +C Y +B Y +B Z +A Z +A Z +C Z +A Z +A Y +B Y +B Y +B Y +B Y +A Z +A Y +B X +C Z +B Y +B Z +C X +B X +A Y +C Y +B X +B Y +B X +B Y +A Z +B Y +A Y +B Y +C Y +B Y +B Y +B Y +A Z +A Y +A Y +B Y +B Y +C X +A Z +B Y +C Y +C Y +A Y +B Y +A X +B Z +B Y +A Z +B X +B Y +B Y +C Y +C Y +B Y +A Z +B Y +C Z +C Y +A Y +B Z +C Y +C X +C Y +A X +B Y +B Y +B Y +C Z +B X +C Y +B X +B Y +B Y +C Y +C Y +A Z +B Y +C Y +C Z +C Y +B Z +C Y +B X +B X +B Y +C Z +B Y +B Y +B X +B Y +B Y +A Y +A Z +B Y +A Z +B Y +B Y +A Z +B X +A Z +A Y +B Y +B X +A Z +B Z +C Z +B Y +B Y +B Z +B X +C Z +C Y +B Y +C Y +B Y +B X +B Y +B X +C Y +C Y +B X +A Y +C Y +B X +B Y +C Y +B Y +A Z +C Y +B X +A Z +B Y +B Y +A Z +C Y +B Y +C X +C Z +C Y +B Z +B Y +B X +C Z +B Z +A Z +B Y +C X +C Y +B X +B Y +C Y +C Y +B Y +B Y +B Y +B X +B Y +B Y +B X +C Y +B X +B Y +C Z +C Y +C Y +B Z +A Z +C Y +C Y +C Y +C Y +B Y +C X +B X +C X +B Y +C Y +B Z +B X +C Y +B Y +B X +B Y +C Y +C Y +C X +A Y +C Y +C Y +A Z +A Z +B Y +A Z +A Z +C Z +B X +C Y +B Y +B X +B Y +B Y +C Y +B X +B X +B Y +C Y +B Y +B Z +A Y +B Y +A Y +C Y +A Z +B Y +B Y +A Z +A X +B Y +B Y +B X +B Y +C Y +C Y +C Y +B Y +A X +B Y +C Y +C Z +A Y +B X +C Y +A Y +B Y +A Y +B Z +C Y +C Y +C Z +B Y +C Y +C Y +B Y +C Z +C Y +A Y +B Y +B Y +A Y +C X +B X +B Y +B X +B Y +B Y +B Y +A Z +A Y +B Y +B Y +B X +C Y +C Y +B Y +B Y +C Z +B Y +B Y +B X +B X +B Y +C Z +B Z +B X +B Y +A Y +C X +A Z +B X +B Y +C Z +B X +C Y +A Z +A X +B X +C Y +B Y +B X +B Z +B Y +B Y +C X +B X +A Z +C Y +C Y +C Z +B X +B X +A Y +A Y +B Y +C Y +B Y +C Y +B Y +B X +A Y +B X +B Z +A Y +C Z +A Y +A X +C Z +B Y +B Y +C Y +C Y +B Y +B Y +A Y +C Y +B Y +B Z +B X +A Z +C Y +B X +B X +A Y +B Y +C Y +C Y +B Y +B Y +C X +C Y +C Z +A Y +B Y +B X +B Y +B Y +C X +C Y +C Y +B Y +B Y +A Z +B Y +B Y +B Y +C Y +A Y +B X +B Y +B X +C Y +B Y +B Y +B Y +B X +A Z +B Y +B Y +C Y +B Z +C Y +B X +C X +C Y +B Y +A Z +B Y +B X +A Y +B Y +B X +B X +B Y +B Y +B Y +A Z +B Y +C Z +B X +A Y +C X +C X +B Y +B X +B Y +B Y +B Y +C Z +A Y +A Z +C Y +B Y +B Y +B Y +C Y +B X +B Y +B Y +B Y +B Z +B Z +A Y +A Y +A Y +B Y +C Y +C Y +B X +C Y +B Y +A Y +B Y +C Y +C Y +B Y +B Y +B X +A Y +B Y +B Y +A Z +B Y +C Z +A Z +A Z +C Z +B Y +B X +B Y +B Y +B Z +A Y +C Y +A Y +B X +B Y +C Y +B Y +C Y +A Y +A Z +A Z +A Y +C Z +C X +A Y +A Y +B Y +B X +A Y +B Y +B Y +B Z +A Y +B Y +B X +B Z +B Y +C Y +C X +B Y +C Z +B Y +B Y +A Z +B Y +C Y +A Z +B Y +A X +C X +A Z +A Y +A Y +B Y +A Y +C Y +B Y +B Y +C Y +B Y +C Y +B Y +A Y +B X +C Z +C X +A Y +A Y +B Y +B Z +C X +B Y +A Y +C Z +B Y +C Z +A X +C Y +A Z +B X +C Y +B Y +C Y +B Y +B X +A Y +B Y +B X +B Y +B Z +B Z +C Y +B Z +B X +B X +A Y +B Y +B Y +A Y +C Y +A Z +C X +C Z +B Z +C X +C X +B X +C Y +B X +B X +A Y +B Z +A Y +A Z +B X +B Z +B X +C Y +B Y +B Y +C X +B X +C Z +B X +B Z +B Y +A X +C Y +C Y +B Y +B Y +A Z +C Y +B Z +B X +B Y +A Z +A Y +C Z +A Y +C Y +B Y +C Y +C Y +B Y +C Y +C X +B Y +C X +B Y +C Z +B Y +B Y +B X +A X +A Y +C Y +C Y +B Z +C Y +B X +B Z +B Y +C X +B Y +C Z +C Y +B Y +C Y +B Y +A Y +C Y +C X +A Z +A Y +B X +C Z +C Y +B Y +A Y +C Y +A Z +C Y +B X +B X +A Y +C X +B Y +B Y +A X +B Y +B Y +C Y +A Z +C Y +B Y +B Y +C Z +C Y +C Y +C Y +C X +B Z +A Z +C Y +B Y +C X +C Y +B Y +B Y +B Y +C Y +B X +B X +B Z +B Y +B X +A X +B Z +B Y +B X +B Y +B Y +C Y +B Y +C Z +B Y +B Z +B Z +C Y +A Y +C Y +A Y +B Z +B Y +C Y +B Y +B Y +C Y +B X +B Y +B Y +B X +B Z +B Y +A Y +B Y +C Y +B X +C Z +B Y +C Z +B Y +B Y +A Y +B Y +C Y +C Y +B Y +C Y +B Y +B Y +C Y +C Y +A Y +A Z +A Z +C X +B Y +A Y +C Y +B X +A Z +B X +A Y +C Y +C Y +B Y +C Z +C X +B Z +B Y +B Y +A Z +A Z +A Z +C Y +B X +A Y +A Y +B Y +B Y +B Y +B Y +B X +A Y +A Y +B Y +C Z +C Y +A Y +C Y +A X +B Y +A Y +B Y +C X +B Y +B X +B Y +C Z +B Y +A Z +C X +B Z +C Y +B Y +A Y +A Y +B Z +B Y +B Y +B Y +B X +A Z +A Y +B Y +C X +A X +A Z +C X +C Y +B Y +B Y +A Y +C Y +B Y +A Y +C Y +A Y +C Y +B Y +C Y +B Y +B Y +A Z +B Z +A Y +A Y +B X +B Y +A Y +C Z +A Z +A Y +C Y +B Y +C Y +B Z +B X +C Z +B Y +B Y +B Y +C Y +B Y +B Y +A Y +A X +B Y +C Z +B Y +B Y +B Y +B Y +C Y +C Y +B Y +B Z +B Y +C Y +A Y +B Y +C Y +A Z +A Y +C Z +A X +B Y +B Y +A X +B Y +B Y +B Y +B Y +B Y +B Z +C Y +C Z +C Z +B Y +A Y +B Z +A Z +A Y +C Z +B X +A X +B Y +C Z +B X +B Y +B Y +C Y +A Z +B Y +A Z +B X +B Z +A Z +C Y +C Z +B Y +C Y +B Y +B X +B X +B Y +A Y +A Z +C Z +B X +B Y +C Z +C Y +B Y +C Z +A Y +C Y +A Z +B Y +B Y +B Y +B X +A Y +B Y +C X +B Z +B Y +C Z +B X +C Z +C Y +A Z +C Y +C X +C Z +B Y +B X +C Y +B Y +C Y +B Z +A Y +B Y +C Z +C X +B X +B Y +B Z +C Z +A Y +C Z +B Y +B X +A X +C Y +B X +A Z +A Y +C Y +C Y +B Y +C Y +B X +B Z +C Y +B Y +C Y +A X +A Y +C X +C Y +B X +C Y +A Z +C X +C Y +B X +B Y +A Y +A Y +B Y +B Z +B Z +A Z +B Y +B Y +B Y +C Y +B X +A Y +C Z +A Y +C Y +B Y +B Y +B Y +B Z +C Y +B Y +A Y +A Z +B X +A Z +B X +B Y +B X +C Y +B X +B X +A Z +B Y +C Z +B X +A Z +B X +B Y +B Y +C X +C Y +B Y +C Y +B Y +C Y +B Y +A Z +C Y +C Y +B Y +C Z +B X +A Y +A Z +C Y +A X +A Y +A Y +C Y +C X +B X +B Y +B X +B Y +B Y +C Z +B Z +B Y +C Y +C Z +A Z +B Y +A Y +C Y +B X +B Y +C Z +C Y +B Y +C Y +A Y +C Z +B Y +B X +A Z +B Y +C Y +B X +B Z +A Z +B Y +A X +A Y +B Z +C Z +C Y +C Y +B Y +B X +B Y +B X +B Y +C Y +B Y +B X +C Z +C Y +A Z +C X +B X +C Y +B Z +B Y +A Z +B X +B Y +B X +B X +C Y +B Y +B Y +A Z +C Y +B Y +B Y +C Y +A Y +B X +C Y +A Z +A Z +A X +B Y +C X +B Y +B Y +C Y +C Z +A Y +C Y +B Y +B Y +B Y +B X +B Z +C Y +B Y +B X +B Y +B Y +B Y +C Y +B Y +C X +B Y +B X +A Z +B Y +C Y +A Z +A Z +B Z +A Y +B Y +C Z +A X +A Z +B X +B X +C Y +A Y +B Y +A Z +C Z +B Y +B X +B X +B Z +B Y +C Y +B Y +B Y +C Z +A Z +B Z +B Z +B Y +C Y +B Y +B X +A Y +B X +C Z +B Z +B Y +C Y +B Y +C Y +C Z +B Y +A X +B Y +C Y +C Z +B Y +A Y +B X +B Y +C Z +B Y +C Y +B Y +B Y +C Y +B X +B Y +C Y +C Y +A Z +C Y +B Y +C Z +C X +B X +B Y +B Y +B Y +B Y +A Z +C Y +A Y +C Y +C Y +C Y +B Y +C Y +B Y +A Y +C Y +B X +C X +C Y +A Y +C Y +B X +A Z +A Z +C Y +C Y +B X +B Y +C Y +B Y +B X +B Y +B X +C X +A Y +B Y +B Y +B X +B X +C X +C Y +B Y +B Y +B Y +B Y +B Z +B X +A Z +B Y +C Y +B X +B X +A Y +A Z +B Y +C Y +C Z +C Y +A Y +B Y +B Z +B Y +B X +C Y +B Z +B X +C X +B Y +C Y +B Y +B Y +B Y +B Y +A Y +B Y +C Y +C Y +B X +C Y +B Y +C Y +A Y +B Z +C Y +A Y +B Y +C Y +B Z +B Y +B Z +B X +B X +B X +B X +B Y +B Z +C Y +C Y +B Y +B X +C Y +A Y +A Z +B X +B Y +B Y +C Y +B X +B X +C Y +C Z +B Y +B Y +C Y +C Y +C X +B Y +C Z +A Y +A Z +B Y +C Y +A Y +C Y +A Y +C X +B Y +C Y +C Z +B Y +C Z +B X +B X +B Y +B Y +C Y +A Y +B X +A Z +B Y +B Y +B Y +B X +B Y +C X +C Y +A Y +B Y +B X +A Z +A Y +B Y +B Y +B Y +C X +C Y +B Y +B Y +B Y +C Z +B Y +B Y +B X +B Y +A Y +A Z +A Y +B Y +B Y +A Y +B Y +B Y +A Y +B Y +A Z +B Z +B Y +C Y +B Y +B Y +A Y +B Y +B Y +B Y +B X +C Y +B Y +C Y +C Y +B Z +B X +B Y +A Z +B Y +A Y +C Y +A Z +C Z +B X +B Y +B X +B X +C Y +B Y +B Y +B Y +B Y +A Z +C X +B Y +B Y +C Y +A Y +A Y +A Y +B Z +A Y +B Y +A Z +C Y +B Y +B Y +C X +C X +C Y +B X +A Z +B X +B X +B Y +C Y +A Z +C Y +B Y +C Y +B Z +C Y +A Y +B Y +B Y +C Z +B Z +C Y +A Y +B X +C Y +B Y +A Z +B Z +B X +B Y +B Y +A Z +A Z +B Y +B Y +B Y +B Z +A Y +A Z +B Y +C Y +C Y +B Y +A Z +A Z +C Y +C Y +B Y +A Z +B Y +A Y +C Y +A Y +B Y +A Y +C Y +B Z +B Y +B X +B Y +C Y +C Y +C Y +B X +A Y +A Y +A Z +B Y +B Y +B Y +C Y +B X +B Y +B Z +B Y +A Z +B Y +B X +B X +B Y +B Y +C Y +A Z +A Y +B Y +B Y +B Y +C Z +B Y +B Y +B Y +C Y +B Y +B Y +C Y +C Z +A X +B Y +B Y +C Y +B Y +C X +B Z +B X +C X +B Y +B X +B X +B Y +C Z +B X +B Y +C Z +C Y +B Y +C Y +B Y +B Y +A Y +B X +C Y +B Y +A Y +A X +A Z +B Z +B Z +A Y +B X +B Y +C Z +C Y +C X +C Y +A Y +B Y +B X +A Y +C Y +C Y +C Y +B Y +B Y +B Z +B X +B Z +B Y +C Y +A Y +B Y +B X +B Y +C Z +C Y +B Y +B Z +C Y +C Y +C Y +C X +B Y +B Y +C Y +A Y +B X +B Y +C Y +A Z +C X +B Y +A Z +C Z +B Y +C Y +A Z +B Y +B Z +A Y +B Y +B X +B Y +C Z +A Y +C X +B Y +C Y +B Z +A Z +B Y +B Y +B Y +B Z +A Y +C Y +A Y +A Z +B X +B X +B Y +B Y +B X +B Z +B Y +B Y +C Z +B X +C Z +C Z +B X +B Y +B X +C Y +B Y +C Z +B Y +C Y +C Y +B X +C Y +A Z +C Z +B Y +B X +B Y +A Z +B X +B Z +C Z +C Y +C Y +C X +C Y +B Z +A Z +A Z +C Y +A Z +B Y +B Y +B X +B X +B X +C Y +B Y +B Y +A X +C X +B Y +B X +B X +B Z +C Y +C Y +C Y +C Y +C X +C Y +A X +A Y +C Y +C Y +B Y +B X +B Y +B X +A Y +A X +C Y +C Z +B Y +C Y +C Z +B Z +C X +B Y +C X +B Y +C Y +B X +C Y +C Y +C Y +C Y +C Y +C Y +B Y +C Y +C Y +B X +C Y +B Y +B Y +B Y +A Y +B Y +B Y +B Y +B X +B Z +B Y +B Y +C Z +A Y +B Y +B Y +B X +B Y +C Y +C X +B X +A Y +B Y +A Z +B Y +A Y +B Y +B Y +A Z +B Z +B Y +B X +B Y +A Y +C Z +C Z +B Y +B Y +A Z +C Y +C X +B Y +B Y +B Y +B Z +C Y +C Y +A Y +A Y +C Y +B Y +A Z +B Y +B Z +C Y +B Y +B X +C Y +C Y +B Y +C Y +A Y +B Y +C Z +C Y +C Y +B Y +C Y +A Y +C X +A Y +C Y +A Z +B Y +C Y +B Y +A Z +B Y +B X +B Y +C Y +B Y +B X +B Z +C X +B Z +A Z +B Z +A Z +C Y +A Y +B Y +B Y +C Y +B X +B Y +A Y +B X +B Y +B Y +A Y +A Z +A Y +B Y +B Y +C Y +B Y +B Y +C Y +B Y +B Y +C X +A Z +B X +B Y +B Y +A X +A Y +A Z +A X +B Y +B Y +B Y +A Y +C Y +A Y +C Z +B X +A Z +C Y +A X +B Y +C Y +B X +C Z +B X +B Y +C Y +A Z +A X +C X +B X +B Y +B Y +A Y +B Y +C Y +C Y +C Z +B Y +B Y +C Y +C Z +B Y +A Z +A Z +C X +B Y +C Y +C Z +C Y +B X +C Z +B X +B Y +C X +B Y +C Y +A Z +A Z +B X +B Z +A X +A Z +C X +A Z +B Z +B Y +C Y +B X +B Y +B Z +B Y +B X +B Y +C X +B Y +B X +B Y +C Y +C X +B Z +B Y +C X +C X +B X +B Y +B X +B Y +B Y +B Y +B Y +B X +B Y +A Z +B Y +A Y +B Y +A Y +B Y +A Y +C Y +B Y +C Y +C Y +C Y +C Y +C Y +C Y +A Z +A Z +B X +C X +C Z +B Y +C X +A Z +C Z +C Y +B Z +B Y +B Z +B Y +A Z +B X +B Y +B X +C Y +B Y +B X +A Y +B Y +B Y +B Z +B X +C X +B Y +B Y +C Y +C Y +B Y +C Y +C X +A X +C X +C Y +B Y +B Y +B Y +B Z +B Y +B Z +B Y +B X +A Z +C Z +C Y +C Y +A Y +B X +B Y +C Z +A Y +A Y +B Y +B X +A Z +B Y +B Y +A Y +C Y +A Z +C Y +B Z +B Y +B Y +C Y +C Z +B Y +B Y +C Y +C Y +B Z +B Z +A Y +C Y +A Z +B Z +B Y +B Y +B X +B Y +A Z +A Y +A Z +B Y +B X +C X +C Y +C Z +B Y +B Y +B Y +A Y +C Y +B Y +C Y +C Y +B Y diff --git a/day02/input.test b/day02/input.test new file mode 100644 index 0000000..25097e8 --- /dev/null +++ b/day02/input.test @@ -0,0 +1,3 @@ +A Y +B X +C Z \ No newline at end of file diff --git a/day02/solution.rb b/day02/solution.rb new file mode 100644 index 0000000..a3cbb5d --- /dev/null +++ b/day02/solution.rb @@ -0,0 +1,102 @@ +#!/bin/env ruby +require 'pry' + +def score(opponent, me) + base = case me + when :rock + 1 + when :paper + 2 + when :scissors + 3 + end + return 3 + base if opponent == me + + outcome = 0 + outcome = 6 if opponent == :rock and me == :paper + outcome = 6 if opponent == :paper and me == :scissors + outcome = 6 if opponent == :scissors and me == :rock + + outcome + base +end + +input = File.readlines('./input').map(&:strip) + +guide = input.map do |pair| + pair.split.map do |letter| + case letter + when 'A', 'X' + :rock + when 'B', 'Y' + :paper + when 'C', 'Z' + :scissors + end + end +end + +scores = guide.map do |pair| + score(pair[0], pair[1]) +end + +puts "Part 1 Solution: #{scores.sum}" + +## Part 2 +def wins_to?(throw) + case throw + when :rock + :paper + when :paper + :scissors + when :scissors + :rock + end +end + +def loses_to?(throw) + case throw + when :rock + :scissors + when :paper + :rock + when :scissors + :paper + end +end + +guide2 = input.map do |pair| + pair.split.map do |letter| + case letter + when 'A' + :rock + when 'B' + :paper + when 'C' + :scissors + when 'X' + :lose + when 'Y' + :draw + when 'Z' + :win + end + end +end + +guide2.map! do |opponent, outcome| + throw = case outcome + when :draw + opponent + when :win + wins_to?(opponent) + when :lose + loses_to?(opponent) + end + [opponent, throw] +end + +scores2 = guide2.map do |pair| + score(pair[0], pair[1]) +end + +puts "Part 2 Solution: #{scores2.sum}"