Last active
June 8, 2018 13:01
-
-
Save mbklein/f86e5a23e6e0dd31ac2c0c1cd807c094 to your computer and use it in GitHub Desktop.
Find championship meetings between two teams, neither of which has won a prior championship
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Assuming data is a tab-delimited list with columns | |
# date, winner, loser | |
def champs(data) | |
winners = {} | |
losers = {} | |
data.split(/\n/).sort.each do |line| | |
date, winner, loser = line.split(/\t/) | |
winners[winner] = date unless winners.key?(winner) | |
losers[loser] = date unless winners.key?(loser) | |
end | |
winners = winners.invert | |
losers = losers.invert | |
winners.delete_if { |k,v| not losers.key? k } | |
losers.delete_if { |k,v| not winners.key? k } | |
winners.keys.sort.reverse.each do |date| | |
puts "#{date}: #{winners[date]} def. #{losers[date]}" | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment