CodinGameの「今週の推しパズル」の問題を解く過程をご紹介
<参考問題>
https://www.codingame.com/training/medium/were-going-in-circles
問題はマップ情報が与えられそのなかにあるループの数を答える。
マップには矢印がついていてその方向に動く。
1 データを保持する
2 大雑把な基本設計をする
ここでは解くためのメインループを作って、細かい部分は関数に任せてあとで作成。
3 基本設計を見直す
コーディングの前に設計を見直す。なるべく楽になる方向へ修正します。
ただしデータを削ぎ落としたりすると後で必要だったりするので、データはできるだけそのまま保持。
4 コーディング
ややこしそうなルーチンはできるだけ外だししています。
4 テスト
はまるときははまります。今回はループに入っていく矢印に対しての考慮がありませんでした。
5 修正して完成
最初の地点に戻ったらループとしていた所を前に通った所に返ったらループと変更して完成です。