Skip to content

Instantly share code, notes, and snippets.

@enderahmetyurt
Created January 12, 2026 15:19
Show Gist options
  • Select an option

  • Save enderahmetyurt/0215d1b94f234a77e1751c5aa7ce9241 to your computer and use it in GitHub Desktop.

Select an option

Save enderahmetyurt/0215d1b94f234a77e1751c5aa7ce9241 to your computer and use it in GitHub Desktop.
Given an array of objects representing bears in a forest, each with a name and hunger level, return the names of all bears whose hunger level is above the forest average, sorted alphabetically. In how few lines can you do this one?
# Given an array of objects representing bears in a forest, each with a name and hunger level,
# return the names of all bears whose hunger level is above the forest average,
# sorted alphabetically. In how few lines can you do this one?
def hungry_bears(bears)
average = bears.sum { |bear| bear[:hunger] } / bears.size.to_f
bears.select { |bear| bear[:hunger] > average }
.map { |bear| bear[:name] }
.sort
end
bears = [
{ name: 'Baloo', hunger: 6 },
{ name: 'Yogi', hunger: 9 },
{ name: 'Paddington', hunger: 4 },
{ name: 'Winnie', hunger: 10 },
{ name: 'Chicago', hunger: 20 },
]
puts hungry_bears(bears)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment