パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

カックロの問題を解くアルゴリズム1

2021-01-10 | プログラムをマスター計画2020
カックロのデータ設計の続き どうしたらいいのか確定する前にできるところから始める。 下のプログラムもまだまだな気がするけど、何度も練り直したものだったりする。最初は変数名もaとかbばっかり。 少し丁寧な命名にすると、今度はソースをざっと把握しにくかったりしてバランスが難しい。 num_pattarn 1行の問題を候補値を返す num_set 全体をnum_pattarnを読み出して、 . . . 本文を読む

カックロのデータ設計

2021-01-08 | プログラムをマスター計画2020
CodinGameでKakuro Solverという新しく申請されている問題、 カックロというパズルを解くためのデータ設計をしてみます。   問題の初期に送られてくるデータ形式   マスは (1)[縦の数字\横の数字](どちらか入っていないことが多い) (2)空白 (3)X:塗られている マスの区切りは列が | で区切られています。わかりやすくスペースで揃えているようです。 . . . 本文を読む

clojure で変数の定義は def

2021-01-07 | プログラムをマスター計画2020
よもや変数1つ定義できないとは... まったく、この言語できる自信なし   こんだけエラーだしておいて …17 more キーワード1つ間違えただけで あらゆるボスキャラに袋叩きにされた挙げ句、捨て台詞までもらった気持ちになれます。   (def a "aaaaa") defで変数を定義する言語に初めて出会いました(または忘れている) . . . 本文を読む

未知のゲームの解法ルーチン実装の手順例

2021-01-06 | プログラムをマスター計画2020
CodinGameにぬりかべというゲームが申請されていたのでその初期実装の手順を公開してみます。 日本人が考案したものをフランスのサイトで知るというパターン最近多いです。   ゲームは数独とかマインスイーパーのようなマップを解く形式のもので 数字の書いてある数字マスだけ連結させて残った部分を塗るというもののようです。 連結は他の連結とくっついてはいけない 塗った部分は全て . . . 本文を読む

F# 妙な所でハマる

2021-01-05 | プログラムをマスター計画2020
まずスムーズにいって、なんだ簡単じゃないかとフラグを立てます。   それもここまで   桁あふれをむりやり封印する int64なんかを使って、その後の型変換できそうになかったので・・・ あと7行目 sをstringと型推論してくれなくて... エラーメッセージに指摘ミスが多いと感じます。   文字列検索の方法が検索できず、ないと例外も出す . . . 本文を読む

Bash

2021-01-05 | プログラムをマスター計画2020
CodinGameの全言語GOLDへの旅も終盤。   Haskellにはほんとに苦労しそう。変数が使えないという束縛の上に 作り方が自由自在でこれまで解いた問題から他の方のプログラムをみていても パターンが多すぎて、謎の上に手が広く、参考文献は少ない。   Clojureはまあ資料がない。すがすがすがしいぐらいない。 ML系の言語でもなくLISP系らしい。LISP . . . 本文を読む

OCamlのコツ

2021-01-03 | プログラムをマスター計画2020
2日前はサッパリわからなかったOCaml。 数値と文字列の扱いぐらいはできるようになってきました。   文字列は ^ でつなぐ 文字列の位置でのアクセスには h.[i]  罠のようなドット カンマを使わない文化 カッコでまとめる ;が必要だったり不要だったりではまる 代入の最後は in 再代入には refで定義して := で入れる refで定義したなら 使う時 ! が前 . . . 本文を読む

OCamlで再帰とループと再代入

2021-01-02 | プログラムをマスター計画2020
OCamlなんて難しい言語なんだ。 たったこれだけの行数なのに何時間もかかってしまう。 おかげで、手続き型の言語間の移植が簡単に思えてしまうようになってしまった。   ググってもググっても悩んだ人たちの足跡ばかり。 この手の言語が経営者向きというのは、単に難関のハードルが下がるからではないだろうか?   はっきりいってつまらない、だが、いい修行になる。(気がする) . . . 本文を読む

プログラム言語ができない理由を考える(OCaml)

2021-01-02 | プログラムをマスター計画2020
プログラムはこれだけなのだけど半日はまりました。 課題はCodinGame PRACTCE CLASSIC PAZZLE-EASY ASCII Art おかげでプログラムができない理由がいくつかわかったので参考までにご紹介します   プログラムができない理由 1) 情報が雑多で正しい情報が得られにくい 2) 何でググったらいいかわからない 3) エラーメッセージが読めて . . . 本文を読む

コーディングラン

2021-01-01 | プログラムをマスター計画2020
12月14日時点 これを全てゴールドにしてみようと思う。 その間、他のBOT課題が増えたので後回しに.. MLの言語が下位を独占している。 学習はしているのだけどなかなか理解が進まない。 圏論あたりも入って何が何やら。   それでも少しは光明がみえてくる。 圏論、関手、随伴などどこか拒絶反応を起こしやすい単語に問題がある。 画数が多すぎ、普段使わない。   . . . 本文を読む

Python型変換小辞典

2020-12-29 | プログラムをマスター計画2020
Haskellだとhoogleという型変換辞書のようなものがあり 型変換から目的の関数をみつけたりするようです   Pythonにそういったものがないそうなので、サーモンランのバイトの合間に作ってみました。 基本 変換後の型から並べています。   こちらで作成したものをスクリーンショットで作成してます https://colab.research.google.c . . . 本文を読む

CodinGameのClassic Puzzle - EasyにPythonで挑んで、Level37

2020-12-25 | プログラムをマスター計画2020
『廻廻奇譚』を聞きながらCodinGameのClassic Puzzle - Easyに挑む 呪術回線のOPはなんども聞いていたのだけど、曲を全部聞いて、Eveを認識したのは今日、最高!   21:33 どこかに()をうまく入れると計算式が成立する問題 左辺の全てに()を入れていき、例外がなく同じ時を答える すこし強引なときかた   21:57 山を書くプ . . . 本文を読む

python クラスのメソッドでソート(内包表記、マップ、ラムダとかてんこ盛り)

2020-12-25 | プログラムをマスター計画2020
自在にソートする簡潔な方法ないかなといろいろと検討してみたものです いろいろと技術つかっていたのでご紹介   クラスのリストを作成した所、アドレスの作成順がまちまちということがわかりました(不思議)   個人的にmapはほとんど使わないのですが内包表記だけで問題なさそうです(たぶんフラグを立てた) . . . 本文を読む

チェス Crazy houseの実装というか、ほぼバグ取り

2020-12-24 | プログラムをマスター計画2020
CodinGameのチェスのゲームの上のリーグにあがってみると 取った駒を打てる Crazy houseというルールに変わる ボードもchess960という初期の駒の配置が一定のルール内で置き換わっている   このチェスを一手50msで考えなければならない Pythonで勝負をするなら実装の速度で初期段階ぐらい ということで実装   想定していないルー . . . 本文を読む