⍝ Receiving a 1×N matrix of name vectors, ⍝ sort the names alphabetically, and then compute the ⍝ total of their numeric counts times their sorted ⍝ positions. R←+/(⍳↑⍴X)×+/X×~((⍴X)⍴27)=X←⎕AV[97+⍳26]⍳X[⍋X;]⊣X←⊃NAMES[⎕IO;] ∇
This is another one liner. This time I had to do some research to understand how the Grade Up and Grade Down functions work with matrix arguments. I feel like the extraction of the names and the computation of the counts is still clumsy, but I didn't think of a better way, and it's about time to move on to the next problem!