I used a buildSequence which just yields the Score each time a new group is encountered & you can then just use sum() on the list to get the answer.
Added additional yield for part2 so that last item in the sequence is the number of garbage characters.