12 lines
391 B
Haskell
12 lines
391 B
Haskell
import Control.Applicative
|
|
import Control.Monad
|
|
import Data.List
|
|
import System.IO
|
|
|
|
uncomma :: String -> [String]
|
|
uncomma = filter ((/= ',') . head) . groupBy (\a b -> (a == ',') == (b == ','))
|
|
|
|
main = do
|
|
names <- sort . uncomma . filter (not . (`elem` "\"\r\n")) <$> readFile "p022_names.txt"
|
|
print $ sum $ zipWith (*) (map (sum . map (\c -> fromEnum c - fromEnum 'A' + 1)) names) [1..]
|