何をしていたのか...わからない。
. . . 本文を読む
Python3で作成したプログラムを見ていて、これならHaskellで作れそう
ということで作成してみました。昨日の深夜
もうすっかり忘れています。過去記事を元にプログラムのパターンを
思い起こし(正確には真似ただけ)、作って上げてみると11位から55位
に後退。単にアルファベットもスコア化しただけで19位に戻りました。
はまった所
CharとStringの比較 . . . 本文を読む
問題
スペース区切りの文字列 s とスペース区切りの単語集 w がある。
大文字小文字関係なく文字列の単語が単語集にあればその文字数を*で置き換えた文字列 s' を答える。
簡単なリスト操作が必要な問題です。
OCaml
エラーにひっかきまわされました。
このエラーの原因 一箇所だけです。
答えは22行目です。
完成
6 . . . 本文を読む
こんな問題に遭遇しました。
文字列が与えられ、同じ文字列がつながっていたら削除していきます。最後に残る文字を答えてください。
ただし一回の削除は同時に行っていきます。この問題をHaskellとOCamlでも解いてみます。
はまったのはやはりCharまわりでしたか、 [Char]でString型にできます。
文字列sのn番目は s!!n Char型になります。
文字列同 . . . 本文を読む
nの階乗(1*2*3*...*n)の結果、後ろに0は何桁ありますか?という問題。
昨日57%の正解率しかだせなかった解答がこちら。敗着として25を
5x5で5が2つあるという事に残り2分まで気が付かず。焦ってそこから
修正ができなかった昨日。2x5が10という所で2で割れる数と5で割れる数
のうち小さい方が0の桁数になる。
翌日、よく考えれば2と5だったら、5の数 . . . 本文を読む
Python3だとこんな感じ OCamlとHaskellでやってみます。
一週間ぶりぐらいなんですがけっこうキレイに忘れています。
おもったよりはなんとかなりました。
Haskell開始時
このファイル名にはじごくと入っています。ほんとにこのあたりのデバッグ作業地獄でした。
さんざん確 . . . 本文を読む
問題
拡張子と拡張子の簡易説明を取得して、ファイル名をいくつか受け取って分類する問題に挑戦。ファイル名の拡張子と拡張子は大文字、
小文字が混在しています。ファイル名もaとか"."だけとか悩ましいものもあります。ラスボスとして9999件対9999件のミサイル何発打っても
倒せないようなのが存在しています。(時間制限があります。感覚的に100msぐらいか?)
ラスボスに対して3 . . . 本文を読む
Haskellは問題を絞り込んで解いていくのに向いている言語なのかもしれない。盤を操作するとかには向いていない気もする。今回
挑んでみたのはマインスーパーの爆弾の位置から該当する数字を答えるというものひとマスまわりに2つ爆弾があったらその地点は
2とする。そろそろ盤を書き換えるという個人的には大問題に挑戦してみました。
なんとか解いています。cbd(countBoardの意味)を関数間に . . . 本文を読む
数独の解答判定の作成 9行 スペース区切りで数字が9個ずつ渡される。それが数独の解答として
あっているか判定します。最初9行回して文字列を返してとか考えてたら返し方がわからなかったので
(この時は)そのまま判定ルーチン飛ばしてみました。20、21、22の行、列、箱判定は27行書こうかとも
考えたのですが、あえて苦手な再帰のループを書いてみることにしました。10行ぐらいしか短くならな
かった . . . 本文を読む
一番に煮詰まっていた秋の深夜の一枚
12行目 return の文字列は ()で くくらないといけない (ML系言語の仕様のため 頻発するミス)
13行目 文字列の追加 ++ なのに一箇所間違えている (イージーミス)
16行目 input!!0は 一文字だけど [Char]という型になっています。これをCharにするために さらに先頭を取らないといけない 正解は input!!0!!0 . . . 本文を読む
Haskellで解いたオセロの問題で全力解説してみる
の続きです。ソースと説明文が離れてしまったのでページを分けソースの再掲載から再開します。前回のあらすじ
文字列の追加は ++
intercalate リスト型に入った文字列を結合
関数名 引数 引数とスペース区切り
lengthは文字列の長さ
showは数値を文字列に変換
wordsは文字列をスペース区切り
!!nは . . . 本文を読む
問題はオセロの盤面データ、自分の色、置く場所が与えられ置いてひっくり返した後の白 黒の数を答えるという
もの例外としてすでに置かれていれば"NOPE" ひっくり返せない場所なら"NULL"を答えなければならない。盤の状態
は黒’B' 白'W' なしは '-'で8文字ずつ8行分渡される。自分の色と置く場所はスペース区切りで”B c4"とか渡される。
c4は3列4行目、 . . . 本文を読む
朝5時頃から開始 プログラムは1時間ぐらいで完成
THE RIVER I.
17、18行で再起する時のパラメータ入れ替えてますが、川を入れ替えても問題ないので遊んでみました。
一番悩んだのは最期の行 fromIntegralの検索
THE RIVER II.
朝 早すぎるからかもしれませんが、仕様がまったく頭に入ってきませんでした。
. . . 本文を読む
DEFIBRILLATORS
地表面間の距離を緯度経度から算出する問題。
小数点が "," だったりデータの区切りが";"だったり(16行目21行目で対応)微妙な違いが何気に難しい。
ASCII Art
大きなアスキーアートのアルファベットがデータとして与えられ文字列をそれに変換する問題
こちらは着手前の簡易設計
. . . 本文を読む
何年か前にHaskellで挑戦して完全には解けなかった
CodinGameのPower of Thor
先日挑戦して挑戦中のThor
どうしても今のスキルでは解けないとGitHubに置いてあったソースを見ていて
参考に作ってみたもの
そして何年か前のプログラムを導入してみたもの
なんかコツをつかんだ気がする
. . . 本文を読む