はじめに
最近、自分の「純粋なプログラミングの基礎体力」を客観的に測定してみたいと思い、日本最大の競技プログラミングプラットフォームである「AtCoder(アットコーダー)」への参加を始めました。
まだ3回ほど参加したばかりの初心者ですが、現在のレーティングは1150(緑色)という位置にいます。
緑色は「実務のバックエンドを任せて安心なレベル」(諸説あり)とも言われますが、あと一歩でさらに上のランク(水色)に届く位置なので、今回は現状の報告とこれからの目標、そしてAtCoderの魅力について簡単にまとめてみたいと思います。

直近のレートグラフ
AtCoderって何?(概要)
AtCoderとは、オンラインで常時開催されている競技プログラミング(通称:競プロ)のコンテストサイトです。
出題される数学的・論理的な課題に対して、制限時間内にいかに正確で処理速度の速い(計算量の少ない)プログラムを組めるかを競います。
世界中から数万人のエンジニアや学生がリアルタイムで参加しており、毎週土曜日の夜などに開催される「AtCoder Beginner Contest(ABC)」が有名です。出題される問題の難易度は幅広く、初心者の文法確認から、プロ顔負けの高度なアルゴリズム問題まで網羅されています。
ABCの一番初めの問題だと、適当な数を与えられてそれが0以上ならYesを返すというようなレベルの超簡単なものが出題され。大体7問程度出されるので、最後の2問くらいは動的計画法とかグラフ的な解法を要求されるというような難易度感でした。
AtCoder
国内最大級の競技プログラミングサイト
atcoder.jp目標は水色か青色くらいは欲しい
AtCoderには、実力に応じて「灰色 → 茶色 → 緑色 → 水色 → 青色 → 黄色…」と色が変わるレーティングシステムがあります。
私の当面の目標は、「水色」もしくは「青色」のランクに到達することです。
- 水色(レーティング1200〜): 技術的に突出した、社内のエース級エンジニアレベル
- 青色(レーティング1600〜): アルゴリズムの専門職や研究開発もこなせる、いわゆる「神・天才」と呼ばれるレベル
特別な「競プロ用の暗記対策」をガチガチに行うというよりは、普段の開発で培ってきたTypeScriptやRustなどの実装力、そして純粋なロジックの組み立てといった「自力」をベースに、どこまでこの高みに通用するか試してみたいと考えています。
まとめ
AtCoderは、ただのゲーム感覚で楽しめるだけでなく、「仕様を正しく理解し、バグのないコードをいかに素早く書くか」という、エンジニアとして最も根底にあるスキルを試す最高の指標になります。
もし「自分のプログラミング力が今どれくらい通用するのか試してみたい」という方がいれば、ぜひ一度参加してみてはいかがでしょうか。レーティングにかかわるコンテストは大体土曜の夜とか日曜夜に開催されています。
今回は簡単な報告だけですが、もし需要や時間があれば、今後は「環境構築や始め方」「初心者はまずどの問題から手を付ければいいの?」といった具体的な攻略・紹介記事も書いてみたいと思います。
それでは、次回のコンテストも頑張ります!