#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]