コードコンテストプログラマーの分類
コードコンテストのプログラマーのコーディング手法には様々なタイプがある。特に注目に値すべきコードの書き方から、そのプログラマーの考え方が分かってくるような気がしたので特にそういった印象が強かった点を以下に記しておく事にした。
1.モンキーコーダー(猪突猛進型)
問題文をあまり理解しないまま、「こんな感じだろう〜」といった具合で組んでいく。答えが合わないとモンキーデバッグに陥りやすい。一般的にプログラミングの能力のみがある人にこういった傾向が感じられる。コードコンテストサイト初心者にもありがちである。要するに私である。
2.一発屋
問題文を読んで、コードを組まずに頭の中で試行錯誤したり、紙に書いたりして問題を解く指針を決め、解ける確信を持ってからコーディングするタイプ。大体、1回書けばテストも通るのでそのまま提出になる。ある種の才能や能力を持った人達に多い気がする。例えば、コテコテの数学物理専攻の人とか。
3.チーター(別名、本屋、リアルライブラリアン)
手元にアルゴリズム本が無いと何も出来ないコーダー。問題文とアルゴリズム本(アルゴリズム本に限った事ではないが…)を行ったり来たりしてテストコードを量産する。アルゴリズム名やアプローチの知識は多いが、何も資料が無い状態だとまともなコードすら書けない。要するに私であry――。
私の周りにはコードコンテスト初心者しかおらずレッドコーダーレベルのコーディング文化の様がよく分からないので他にどういったタイプの人がいるのかよく分からない。情報が入り次第随時このエントリーに追記していく予定だ。