Problem 22
Problem 22です。
import Data.List import Data.Maybe import Control.Applicative score = sum . map (fromMaybe 0 . flip lookup (zip ['A'..'Z'] [1..26])) main = do names <- (sort . list) <$> getContents print . (foldr (\(x, y) s -> s + x * y) 0) . zip [1..] $ map score names where list x = read $ "[" ++ x ++ "]"
# ./p22 < name.txt
こんな感じです。