In many of my solutions, I use strings.Split to iterate over my input. That sometimes causes many allocations, increasing the memory footprint and runtime for my solutions. Sometimes I do not need to hold the entire list of splits in memory; simply iterating over them would be enough. For these situations, I should try to use a more efficient way of iterating over the input.