Atcoder 始めました。

自動車メーカーの溶接屋

未経験転職の難しさ

転職活動で、データサイエンスの分野に進みたいと思っているのですが、機械系を専門に歩んできた自分にとっては、この未経験業界への転職はどうやら難しいことがわかってきました。

具体的には、書類選考でほとんど返事がない状況で、実務の経験が重要視されることを実感しました。

実務経験がない中で、自分のスキルや少なくとも熱意をを可能な限り伝えるために、資格のようなわかりやすいものがあればいいなと思うようになってきました。

資格としての競技プログラミング

その一環で、Atcoderという競技プログラミングがあることを知りました。Atcoderはプログラムのアルゴリズム力が試されるコンテストで、出題に対して決まった答えを返すプログラムを書けるかどうかで採点されます。

機械学習系の競技プログラミングであるkaggleでは、問題に対してより最適なコードが望まれるのに対して、Atcoderは厳密な正解がある点で違うのだと思います。

転職に関していえば、Atcoderにはコンテストの結果に応じたレートが与えられており、レートによって求人が出ている場合があります。

レートは上から赤→オレンジ→黄→青→水色→緑→茶色→灰色という順番になっており、茶色程度であればきちんと勉強している人という認識にはなるがプロとしては不十分、緑~青であれば業務で十分生かせるアルゴリズムの知識を持っていることの証明になるそうです。

レベル赤~黄色はアルゴリズムに加えて高度な数学の知識も必要なのだそうです。

Atcoder求人

自分がAtcoderに興味を持ったのは、行きたいと思った企業にAtcoderのレートに応じた求人が出ていたのが一つの理由になります。例えば下記。

ちなみに自分の行きたい企業では黄色のレート以上であれば採用基準を満たすようです。

Atcoderのレートを上げるためには

では何をどれだけ勉強すればレートを上げられるのか?という疑問を持つわけですが、Atcoderに参加されている人たちの間では、レートの色が上がったときに「色変記事」というブログを書く習わしがあるそうです。

「色変記事」にヒントがありそうだと調べてみたところ、「色変記事」ではレートが上がるまでに解いた過去問の量や、目指す色(レート)に応じて重視すべきスキルなどが紹介されていました。

自分は初心者なので、とりあえず問題数に着目して黄色レートまで上がる道のりを考えてみました。

参考サイトを参考にさせていただきました。

どうやら黄色に上がるために必要な解答数は、灰色の難易度のものが平均350問、茶~青が200問、黄色が100問程度ということがわかります。合計1250問になります。

1250問というゴールだけ見ると遠く感じますが、まずは灰色350問が目標です。

自分の進捗

では一日どのくらいの回答数が現実的に可能で、350問に達成できる日はいつなのか、とりあえず2週間くらい試してみました。

直近の状況を見てみると、最大35問/日の進み具合です。Atcoderに8時間くらい確保できた日はこんな進度になりました。でも仕事で残業したりすると全然進まないという状況です。

灰色の簡単な問題はサクサク進みます。たまに灰色の中でも難易度の高い問題や、茶色の問題に挑戦しています。

が、やはり手こずることも多く、茶色の問題に至ってはほとんど手を付けられない難易度です。なので「C++入門 AtCoder Programming Guide for beginners (APG4b)」でC++の基礎知識を付けながら、過去問を解くというのを反復しています。


最初は機械的に問題をこなす感じだったのですが、2週間程度やってみて回答数が180問を超え、心境に変化が現れました。下が現在の回答数です。

180を超えたあたりから楽しくなってきました。指定されたアルゴリズムが検討もつかないのは相変わらず多いのですが、

解説を読んで、その通りにコードを書いてみると、答え通りの出力がされるという当たり前のことです。ですが、正解のコードが思いもつかない自分にとってはそれがすごく目新しい技術のように思えて、驚けるようにになりました。

これまではわからなすぎて、何がすごいのか、もわからない状態だったと思います。


これまではAtcoder Problemsで灰色の中でも白抜きの問題(一番簡単)しか解けなかったのですが、180問を超えたあたりから、下の問題のように少し灰色に塗られた問題も解けるようになってきました。





Atcoderの勉強にお役立ちサイト

ちなみに回答した問題数の管理は「Atcoder Problems」というサイトが役に立ちます。このサイトではAtcoderの過去問がまとめられており、効率的に学習できるようになっています。


ちなみに、黄色以外の茶色などの色変記事も調べてみたところ、レートが上がるときにはその前のレートの問題回答数が200問に達したときという傾向があるみたいでした。(例:黄色に上がる→青色を200問回答、緑に上がる→茶色を200問回答)


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!