Created
January 12, 2026 15:19
-
-
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?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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