パーソナルブログメモリ

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

Pythonで数独風の暗号文解析

2024-07-24 | CodinGame

評価の高い問題が投稿されていたのでチャレンジ

 

プログラムの問題例と解答例から問題を解析する

変換前の各単語と解読用の単語 長さが同じことがポイントで

アルファベットの各文字は別のアルファベット一文字になるらしいと推測してプログラム開始

 

一つの単語が確定したらそこから辞書を登録して残りの単語を部分変換して

対象単語を絞りこんでいく

テストケースの解答は物語の続きになっていて

最後007でありがちな逃走方法で幕を閉じる

エージェントXとYのロマンスは...

 

単語の区切りが常にスペースではないとか 暗号に"..."が入っていたり

単語に数字があったり レアケース対応がなかなか大変

 

できあがった一号

仕様バグとかいろいろと入っていたので、コメントがかなり入っている

あと最初の構想だけでは完成できなかったので

一つの単語に絞り込めないものでもその単語の指定位置が一つになるものとかを辞書登録してなんとか完成

 

 

デバッグ用の表示を取り、無駄にあったルーチンを取って

縮めるだけ縮めてみたものがこちら 関数名とか変数名もかなり手直ししています

コメントとか頑張ってみたものの、やりすぎている


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。