Walkthrough
Solutions
def remove_letter_a(words)
words.map do |word|
word.delete("a")
end
end
def abundant?(num)
divisors = find_divisors(num)
sum_divisors = array_sum(divisors)
sum_divisors > num
end
def find_divisors(num)
(1...num).select { |divisor| num % divisor == 0 }
end
def array_sum(array)
array.reduce(0) { |sum, n| sum + n }
end
def greatest_common_factor(first_number, second_number)
smaller_num = [first_number, second_number].min
(1..smaller_num).to_a.reverse.each do |potential_factor|
if first_number % potential_factor == 0 &&
second_number % potential_factor == 0
return potential_factor
end
end
end
def word_with_most_repeats(sentence)
words_and_repeats = {}
words = sentence.split
words.each do |word|
words_and_repeats[word] = count_repeats(word)
end
largest_count = words_and_repeats.sort_by {|k,v| v}.last.last
words_and_repeats.select {|k,v| v == largest_count}.first.first
end
def count_repeats(word)
uniq_letters = word.chars.uniq
uniq_letters.count do |char|
word.count(char) > 1
end
end