DEV Community

Discussion on: Daily Challenge #242 - Expressions Matter

Collapse
 
daviducolo profile image
Davide Santangelo • Edited

maybe not the most elegant, but it work!

def expression_matter(a,b,c)
  sum = [a,b,c].sum

  tmp = [a,b,c].inject('*')
  sum = tmp if sum < tmp

  tmp = (a + b) * c
  sum = tmp if sum < tmp

  tmp = a + (b * c)
  sum = tmp if sum < tmp

  tmp = a * (b + c)
  sum = tmp if sum < tmp

  tmp = (a + c ) * b
  sum = tmp if sum < tmp

  sum 
end
pry(main)> expression_matter(5, 1, 3)
=> 20
pry(main)> expression_matter(3, 5, 7)
=> 105
pry(main)> expression_matter(5, 6, 1)
=> 36
pry(main)> expression_matter(1, 6, 1)
=> 12
pry(main)> expression_matter(2, 6, 1)
=> 18