#005のAをHaskell でといてみた
はじめ、'.'を取り除き忘れていて1WA
t1 = "TAKAHASHIKUN" t2 = "Takahashikun" t3 = "takahashikun" main = do ns <- getLine str <- getLine let ws = removedot $ words str putStrLn . show $ foldr (\ cs acc -> if cs==t1 || cs==t2 || cs==t3 then acc + 1 else acc) 0 ws removedot = snd . foldr (\ w (m,cs)-> if m == 0 then (m+1,init w:cs) else (m+1,w:cs)) (0,[])
他の人のコードみて改良
こっちの方がかっこいいね
takahashi = ["TAKAHASHIKUN", "Takahashikun", "takahashikun"] main = do n <- getLine ws <- getLine putStrLn . show . length . filter (`elem` takahashi) . rmdot $ words ws rmdot ws = (init ws) ++ [init $ last ws]