パーソナルブログメモリ

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

人狼探しの基礎のような4つゲームをたまたま直近で解いた話

2021-06-09 | CodinGame

直近で解いた4問が偶然そんな感じだったのでちょっと語ってみます。

解いた順番は右から

 

 

ザ・ミケランジェロ・コード

ワード群の中から文章の中に隠されたもの(1語ずつ等間隔に現れる)を探して、そのワードが隠れている範囲を表示して、隠されたワードを1語ずつ大文字にする。

説明がさっぱり頭に入ってこなくて相当苦労した問題です。コーディングもややこしかったですが、読解の難易度が高かったです。

 

 

キングはチェックされている?(2)

こちらは1の時に2があるのかなと、実装を正確にしていたのでコピーして、仕様の変更点、キングのマークをKからkに変更するだけで解けました。

(人狼とはちょっとはなれていて、少しこじつけです)

 

 

マスターメイヘム

サイボーグの中に隠れて存在しているメイヘムを探しだします。メイヘムの特徴と各サイボーグの特徴を照らし合わせて探し出します。

初期データをマッチング形態に変更するのが少し手間取りました。(最期に残ったバグは変更ミスの部分でした)

メイヘムは"こう言った"というものがあって、それをコーディング化に少し手間取りました。

こちらも説明文の読解が難しかったです。

 

 

デベロッパーフレンズ

各開発者とそのクセを簡潔なパラメータで与えられます。

そのクセとソースを比較して開発者は誰か答えます。

一行ごとに空行をいれるという、そんな開発者いないだろうというものもありますが、

出題の解き方に最期のひとひねりをいれておかないと問題自体が承認されるまでは難しいようです。

 

 

実際の解き方

さっぱりわからない時は解けるテストケースから着手してウダウダして閃くのを待ちます。

仕様を厳密にコーディングするというよりは、テストケースで発見されるバグから、

マッチング方法のミスを修正する逆算的な解き方を最後はしています。

 

内部で処理するデータは何度か見直して多ければ2、3度ぐらいは作り変えます

SUBMITするときは、仕様に厳密なレアケースが追加されていないかハラハラしています。

 


最新の画像もっと見る

コメントを投稿

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