coding for food

[Ruby] exercise _ Adjacent Sum

silveryen 2022. 8. 7. 11:42
# doh code
def adjacent_sum(arr)
  new_arr = []

  
  arr.each.with_index do |num, idx|
    if idx !=0
      new_num = arr[idx-1] + arr[idx]
      new_arr << new_num
    end
  end

  return new_arr

end

print adjacent_sum([3, 7, 2, 11]) #=> [10, 9, 13], because [ 3+7, 7+2, 2+11 ]
puts
print adjacent_sum([2, 5, 1, 9, 2, 4]) #=> [7, 6, 10, 11, 6], because [2+5, 5+1, 1+9, 9+2, 2+4]
puts
# solution

def adjacent_sum(arr)
  new_arr = []

  arr.each_with_index do |ele, i|
    if i != arr.length - 1  # I want to stop one early.
      new_arr << arr[i] + arr[i + 1]
    end
  end

  return new_arr
end

print adjacent_sum([3, 7, 2, 11]) #=> [10, 9, 13], because [ 3+7, 7+2, 2+11 ]
puts
print adjacent_sum([2, 5, 1, 9, 2, 4]) #=> [7, 6, 10, 11, 6], because [2+5, 5+1, 1+9, 9+2, 2+4]
puts