Ruby – Enumerable – each_with_index Solution

In this post, we will solve Ruby – Enumerable – each_with_index HackerRank Solution. This problem (Ruby – Enumerable – each_with_index) is a part of HackerRank Ruby series.

Task

In the previous challenge, we learned about each method being central to all of the methods provided by Enumerable class. One of such useful methods is each_with_index which allows you to iterate over items along with an index keeping count of the item.

For example,

> colors = ['red', 'green', 'blue']
> colors.each_with_index { |item, index| p "#{index}:#{item}" }
"0:red"
"1:green"
"2:blue"

As you can note, the counting of items starts from 0.

In this challenge, your task is to complete the skip_animals method that takes an animals array and a skip integer and returns an array of all elements except first skip number of items as shown in the example below.

For example,

> skip_animals(['leopard', 'bear', 'fox', 'wolf'], 2)
=> ["2:fox", "3:wolf"]

It is guaranteed that number of items in animals array is greater than the value of skip.

Solution – Ruby – Enumerable – each_with_index

def skip_animals(animals, skip)
    arr = []
    animals.each_with_index do |item, index| 
            arr << "#{index}:#{item}" unless index < skip
    end
    return arr
end

Note: This problem (Ruby – Enumerable – each_with_index) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.

Leave a Comment

Your email address will not be published. Required fields are marked *