aoc2020/day_22/first.rb

16 lines
368 B
Ruby

input = File.read('./input').split("\n\n").map { |l| l.split("\n") }
$p1 = input[0].drop(1).map(&:to_i)
$p2 = input[1].drop(1).map(&:to_i)
until $p1.empty? || $p2.empty?
p1 = $p1.shift
p2 = $p2.shift
p1 > p2 ? $p1.push(p1, p2) : $p2.push(p2, p1)
end
$winner = $p1.empty? ? $p2 : $p1
puts (1..$winner.size).reverse_each.zip($winner).map { |l, r| l * r }.sum