01-03
Haskellで何か書きたくなったので、上記のサイトの問題を解いていくことにした。
00. 文字列の逆順
文字列"stressed"の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.
Prelude> Data.List.reverse "stressed" "desserts"
02. 「パトカー」+「タクシー」=「パタトクカシーー」
「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ.
Prelude> putStrLn $ concat $ zipWith (flip (\x -> flip (:) [x])) "パトカー" "タクシー" パタトクカシーー
文字と文字を連結して文字列にする関数が見つからず、変な関数を作成してしまった。また、putStrLnを使わないと、コードが表示される。
03. 円周率
"Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."という文を単語に分解し,各単語の(アルファベットの)文字数を先頭から出現順に並べたリストを作成せよ.
Prelude> map length $ words "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechani cs." [3,1,4,1,6,9,2,7,5,3,5,8,9,7,10]
wordsという関数は久しぶりに使った。
04で詰まったのこれで終わりかも。