{"author_url":"https://blog.hatena.ne.jp/faith_and_brave/","description":"\u7d9a\u30fb\u7e26\u66f8\u304d\u306e\u3055\u3089\u306b\u7d9a\u304d Arrow\u3067\u66f8\u304d\u76f4\u3057\u3066\u307f\u305f import List import Control.Arrow main = getContents >>= arr (lines >>> reverse >>> normalize >>> transpose >>> unlines >>> putStrLn) -- \u9577\u3055\u3092\u540c\u3058\u306b\u3059\u308b normalize = (maximum . map length &&& map (++ repeat ' ')) >>> uncurry (map . take)","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ffaithandbrave.hateblo.jp%2Fentry%2F20081219%2F1229682534\" title=\" \u7d9a\u3005\u30fb\u7e26\u66f8\u304d - Faith and Brave - C++\u3067\u904a\u307c\u3046\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","height":"190","published":"2008-12-19 19:28:54","title":" \u7d9a\u3005\u30fb\u7e26\u66f8\u304d","provider_url":"https://hatena.blog","blog_title":"Faith and Brave - C++\u3067\u904a\u307c\u3046","image_url":null,"version":"1.0","author_name":"faith_and_brave","type":"rich","width":"100%","categories":["Haskell"],"blog_url":"https://faithandbrave.hateblo.jp/","url":"https://faithandbrave.hateblo.jp/entry/20081219/1229682534"}