class Algorithmable::Cups::NestedListsProblem::PuzzleSolver

Public Class Methods

find_sum_of_nodes_in(nested_list) click to toggle source
# File lib/algorithmable/cups/nested_lists_problem.rb, line 81
def self.find_sum_of_nodes_in(nested_list)
  new.find_sum_of_nodes_in nested_list
end

Public Instance Methods

find_sum_of_nodes_in(nested_list) click to toggle source
# File lib/algorithmable/cups/nested_lists_problem.rb, line 85
def find_sum_of_nodes_in(nested_list)
  recursive_sum nested_list, 1
end
recursive_sum(list, at_level) click to toggle source
# File lib/algorithmable/cups/nested_lists_problem.rb, line 89
def recursive_sum(list, at_level)
  sum = 0
  list.each do |entry|
    if entry.integer?
      sum += entry * at_level
    else
      sum += recursive_sum entry, at_level + 1
    end
  end
  sum
end