Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Turnaround/ Solution to duplicate keys in a Hash
- sorted_words = Hash.new(0)
- words.each { |word| sorted_words[word]=word.downcase.chars.sort{ |a, b| a.casecmp(b) }.join
- require 'pp'
- require 'set'
- words = %w[cream scream scream creams]
- hash = Hash.new{ |h,k| h[k] = Set.new }
- words.each do |w|
- hash[w.downcase.split('').sort] << w.downcase
- end
- pp hash
- => {["a", "c", "e", "m", "r"]=>#<Set: {"cream"}>,
- ["a", "c", "e", "m", "r", "s"]=>#<Set: {"scream", "creams"}>}
- puts hash['creams'.downcase.split('').sort].to_a.join(', ')
- scream, creams
- require 'pp'
- require 'set'
- words = %w[cream creams scream scream]
- hash = Hash.new{ |h,k| h[k] = [] }
- words.each do |w|
- hash[w.downcase.split('').sort] << w.downcase
- end
- pp hash
- => {["a", "c", "e", "m", "r"]=>["cream"],
- ["a", "c", "e", "m", "r", "s"]=>["creams", "scream", "scream"]}
- puts hash['creams'.downcase.split('').sort].to_a.sort.join(', ')
- => creams, scream, scream
Add Comment
Please, Sign In to add comment