Advertisement
t_a_w

Uncover secrets

Sep 28th, 2016
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.59 KB | None | 0 0
  1. def uncover_secret(triplets)
  2.   pairs = triplets.flat_map{|a,b,c|
  3.     [[a,b], [a,c], [b,c]]
  4.   }
  5.   letters = pairs.flatten.uniq
  6.   result = []
  7.   until letters.empty?
  8.     next_letter = letters.find{|l| !pairs.map(&:last).include?(l) }
  9.     raise "FAIL" unless next_letter
  10.     result << next_letter
  11.     letters.delete next_letter
  12.     pairs.delete_if{|a,b| a == next_letter}
  13.   end
  14.   result.join
  15. end
  16.  
  17. secret1 = "whatisup"
  18. triplets1 = [
  19.   ['t','u','p'],
  20.   ['w','h','i'],
  21.   ['t','s','u'],
  22.   ['a','t','s'],
  23.   ['h','a','p'],
  24.   ['t','i','s'],
  25.   ['w','h','s']
  26. ]
  27.  
  28. p uncover_secret(triplets1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement