coding for food

[Ruby] exercise _ Unique Elements

silveryen 2022. 8. 5. 14:21

Write a method unique_elements that takes in an array and returns a new array where all duplicate elements are removed. Solve this using a hash.

# Hint: all keys of a hash are automatically unique

def unique_elements(arr)

end

print unique_elements(['a', 'b', 'a', 'a', 'b', 'c']) #=> ["a", "b", "c"]
puts

my code

# Hint: all keys of a hash are automatically unique

def unique_elements(arr)
  new_arr = []
  
  hash = Hash.new(0)
  
  arr.each do |ele|
  	 hash[ele] += 1
  end
  
  hash.each do |h, v|
  new_arr << h
  
  end

  return new_arr

end

print unique_elements(['a', 'b', 'a', 'a', 'b', 'c']) #=> ["a", "b", "c"]
puts
def unique_elements(arr)
  hash_elements = {}
  arr.each { |ele| hash_elements[ele] = true }
  return hash_elements.keys
end

print unique_elements(['a', 'b', 'a', 'a', 'b', 'c']) #=> ["a", "b", "c"]
puts