Advertisement
brewersfan1976

campus_cup.rb

May 29th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.64 KB | None | 0 0
  1. def campusCup(emails)
  2.     array_length = emails.length
  3.     x = 0
  4.     new_array = Array.new
  5.    
  6.    
  7.     while (x < array_length)
  8.           array = emails[x].split('@')
  9.           new_array[x] = array[1]
  10.           x = x + 1
  11.     end
  12.    
  13.     new_array = new_array.each_with_object(Hash.new(0)) {|word, counts| counts[word] += 1}
  14.    
  15.     keys = new_array.keys
  16.     values = new_array.values
  17.     array_length = values.length
  18.     final_array = Array.new(60){Array.new}
  19.     x = 0
  20.    
  21.     while (x < array_length)
  22.         if values[x] <= 4 then
  23.            final_array[x][0] = keys[x]
  24.            final_array[x][1] = 5
  25.         end
  26.            
  27.         if values[x] >= 5 and values[x] <= 9 then
  28.            final_array[x][0] = keys[x]
  29.            final_array[x][1] = 4
  30.         end
  31.            
  32.         if values[x] >= 10 and values[x] <= 14 then
  33.            final_array[x][0] = keys[x]
  34.            final_array[x][1] = 3
  35.         end
  36.            
  37.         if values[x] >= 15 and values[x] <= 24 then
  38.            final_array[x][0] = keys[x]
  39.            final_array[x][1] = 2
  40.         end
  41.            
  42.         if values[x] >= 25 then
  43.            final_array[x][0] = keys[x]
  44.            final_array[x][1] = 1
  45.         end
  46.            
  47.         x = x + 1
  48.     end
  49.      
  50.    final_array = final_array.delete_if {|elem| elem.flatten.empty?}
  51.    final_array = final_array.sort {|a, b| (a[1] <=> b[1]) == 0 ? (a[0] <=> b[0]) : (a[1] <=> b[1])}
  52.  
  53.    final = Array.new
  54.    array_length = final_array.length
  55.    x = 0
  56.            
  57.    while (x < array_length)
  58.          final[x] = final_array[x][0]
  59.          x = x + 1
  60.    end
  61.            
  62.    return final
  63. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement