-x暇だったら加筆します。Adventarの11日目の記事です。次の記事[みせられません]酒の神「バッカス」おはようございます。しょうがないからBlack日課飲んでます。いう世の中なんですよ今の日本は。資本主義と見せかけて社会主義っぽくもある気持ち悪さ。根本的な教育の方針の欠陥。大学とかこういう場に来て尚実感してこういう感想に至った次第です。海外へ逃げる準備をした方がいいですよ皆さん。先入観とか言ったイドラは違います。「人間思ったほど客観視出来てはいない」それはそうですが、だから諦めるのか?という感じではあります。冷静になって自分を切り離して客観視する努力は必要なのであります。Prokrustesbettのあやまちを犯さないようにしたい。生きろ最近生きながらにして死んでいる人が多い気がする。「無自覚者も死に至る病を患う」といっています。絶望を知らないんですから、とても幸せなんだと思いますけど。いやでも、「人間は動物より勝っているからこそ、言いかえれば人間は自己であり精神であるからこそ、絶望することができるのである」かもしれませんね。人間の生きる骨は「愚鈍さ」と「慣れ」な気がしてきましたからね。「最低限の理性と、知的好奇心とか、精神を持っていて魂が輝いている生物」こんな定義をしたら個人的にこの眼で見て人間だなと感じた人は少ない。これは人間はこう有るべきみたいな、私の個人的な理想像でもあるので、あんまり気にしないでくださいというか、些か強引すぎますかねぇ。御託はいいから講釈垂れてよこのフレーズは「げんがくさばいば」さんから拝借しました。私の尊敬する人の一人です。title的に考えますと今回は「Haskellで上位者問題を解く」ですね。今読んでる「関数プログラミング珠玉のアルゴリズムデザイン」って本の内容そのままです。CAPTCHA今回は第二章です。「上位者問題」ってご存知でしょうか。説明いたしますと、配列の一つの要素に対して、その上位者とは、その要素の右側に有り、その要素より大きい要素をいいます。「APPLE」という文字列で考えた時に、A;0,B;1..といったふうに割り当てた時、それぞれの文字の持つ上位者の数、上位者数は、[('A',4),('E',0),('L',0),('P',0),('P',0)]となります。この場合、最大値はAの4となります。いったふうにして、文字列の最大上位者数を求めていきます。当たり前だけどHaskellでな今回もHaskellで、しかも分割統治法を使います。皆さんの身近な分割統治法の例ですと、「クイックソート」とかそうですね。問題を小さくして、その小さい問題を解いて元の大きさの問題を解いたことにする、というものだと思ってます。みなさんは生まれながらにしてHaskellはわかると思うので大丈夫でしょう。「文字列の最大上位者数」を求めます。その関数はmscですね。(文字列)という風にご利用ください。msc関数を説明しますと、その引数(s)をまずtable関数で受けます。table関数はタプルにして、各文字とその上位者数の組にして、その全部をリストにして返します。なると当然mscも同じくそうなることがわかりますね。投げやりかもしれませんね。すみません、ではでは。Adventarの8日目の記事です。前の記事web.matsub.tech次の記事[🍆]おはようおはよう。