So, I just re-read the challenge... Guess I got lucky that I got the right answers, since the solution for the sample data in the challenge mentions locations that are NOT in the sample data. NOW i understand why "generate rows" is/was necessary - to generate the missing positions between the min and max positions.
Oh, well - on to #8!