Recursion probably made things a little trickier for you (but is totally possible). The special piece to notice in part 2 is that you are only forward creating cards and (most importantly) there are no decisions to optimize. Each card alway produces the same result.
This problem reminded me of the lantern fish problem. The trick with this one was not tracking individual fish, instead you only need the number of each generation you have (and in today's puzzle we just need to track how many of each card you have)
Ran into a couple gottchas today. Didn't notice the tabular data at first. It got me twice, once on the numbers and then again on the card number (which I guess I didn't actually need to use)
The second gottcha was missing that in the second part it is the number of matching numbers not the score that I needed to use. My first attempt was a very very very big number