はじめに
「プログラマーなら、せめて茶色ぐらいにはなっておかないと。」
そう思ったのが、2025 年の年明けでした。
AtCoder は競技プログラミングのサイトで、参加者にはレートに応じて色が付きます。灰色(〜399)→ 茶色(400〜799)→ 緑色(800〜1199)と上がっていく仕組みで、AtCoder 公式では茶色を「競技者としては、多くの参加者がまず目指すべきライン」としています。
2 年前、同僚に勧められて AtCoder を始めてから、コンテストには時々参加していましたが、当時は子どもの寝かしつけや夜泣き対応で、最後まで集中して取り組めないことが多く、きちんと向き合えていませんでした。
ABC コンテストは毎週土曜の 21 時から 100 分間。ちょうど子どもが寝る時間帯と重なっていて、コンテスト中に呼ばれることがしょっちゅうありました。
そこで、会社の Slack のスレでこう宣言しました。
ただ、2025 年前期は資格試験を言い訳にしつつ、コンテストに出たり出なかったりを繰り返すだけ。
結局、行動はほとんど伴っていませんでした。
2025 年も半分過ぎた 6 月。
ふとその宣言を思い出して、焦りました。
「このままじゃ茶色になれないぞ。目標未達で終わるのは嫌だ。」
それから"きちんと茶色コーダーを目指す"と決めました。
何をすればいいのか
茶色を目指すと決めたものの、じゃあ具体的に何をすればいいんだろう?
とりあえず考えたのは、「C 問題を安定して解けるようになる」ということでした。
茶色になるには、C 問題が取れないとレートが上がらない。
じゃあ、C 問題を解けるようになるには?
練習するしかない。
毎日とは言わないけど、週に何回かは問題に触れないと、感覚が鈍る。
土曜のコンテストで解けなかった問題を、日曜に振り返る。
「もし似た問題が次に来たらどう解くか」を考えて、月〜木で少しずつ練習する。
また週末のコンテストで試す。
そんな 1 週間のループを回せたらいいな、と思いました。
ただ、このループを怠けずに回すには、何か仕組みが必要でした。
習慣化の仕組み
週次ループを回すと決めたものの、正直なところ、自分一人だと絶対にサボると思いました。
だから、半ば強制的に AtCoder に触れる環境を作ることにしました。
まず始めたのが、火・水・木曜日の AtCoder Daily Training(ADT)への参加。
1 時間で 5 問解く練習コンテストで、過去の ABC から簡単な問題が出題されます。
「決まった時間に問題が出る」というのが自分には合っていて、週 3 回、自然と AtCoder を開くようになりました。
次に、コミュニティの Slack で学習宣言をするようにしました。
「学習前に投稿する」ことを自分ルールにして、"ほどよいノルマ感" を作る。
誰かに見られているわけでもないんですが、宣言すると不思議とやる気が出るんですよね。
最後に、Notion で学習ログをつけ始めました。
日報と週報として、やったこと、学んだ点、所要時間などを記録していくと、
自分の学習のペースや気分の波が見えてきて、「今週はちょっと疲れてるな」とか「先週より進んでるな」とかが分かるようになりました。
この 3 つで、週に最低 3 回は AtCoder に触れる環境ができて、問題を解く時間が以前よりずっと自然なものになっていきました。
この仕組みを作るとき、『すぐやる脳』で紹介されている「ドーパミン・サイクル」を参考にしました。
ステップ ① 自己暗示をかける
ステップ ② スモールステップに分ける
ステップ ③ ドーパミンを分泌させる
この ① ~ ③ のステップのサイクルを繰り返すことで、ドーパミン・コントロールを習慣として定着させられるようになります。——菅原道仁『すぐやる脳』
Slack 宣言で自分に言い聞かせ(① 自己暗示)、ADT で小さな問題を解き(② スモールステップ)、AC が出たときの達成感を味わう(③ ドーパミン分泌)。
このサイクルを週に何度も回すことで、AtCoder が生活の一部になっていったんだと思います。
C 問題の壁と背景
とはいえ、習慣を作ったからといって、すぐに C 問題が解けるわけではありませんでした。
ABC の C 問題って、AやBの問題と比べて、肌感難しいんですよね。大きな壁がある感じです。
問題文が急に長くなるし、実装もワンランク上がる。
「全然わからないなー…」みたいな状態で終わることが何度もありました。
それでも、少しずつ変わってきました。
まず、子どもの夜泣きが落ち着いてきて、コンテスト中に呼ばれることがほぼなくなったこと。
100 分のコンテストをちゃんと"100 分まるごと"使えるようになって、集中力がまったく違いました。
もう一つは、「あれ、これ見たことあるぞ」と思う瞬間が出てきたことです。
印象的だったのが、クエリ処理の問題に当たったとき。
たしか ABC420 C(Sum of Min Query)だったんですが、
ADT で似たようなクエリ系の処理に触れていたことがあって、
「これ練習でやったやつだ」
と心の中で思ったのを覚えています。
まだまだパターン認識が完全に身についていたわけじゃないけど、
"継続が効いてきている" と実感できた最初の瞬間でした。
8 月の初 AC
そして転機になったのが、8 月のとある ABC コンテストでした。
C 問題が、ついに、自力で通ったんです。
(C 問題を解けた時のコンテストのキャプチャ AC を注目させる加工)
提出ボタンを押して画面に "AC" と出た瞬間、思わず立ち上がってガッツポーズしました。
「…やった…」「C 問題いけた…!」
嬉しさが一気に込み上げてきて、気づいたらリビングをウロウロしていました。
ニヤニヤが止まらなくて、横で見ていた妻に「大丈夫?」という顔をされました。
ちょっと恥ずかしかったけど、それでも抑えられないくらい嬉しかったんですよね。
次の日になっても気持ちが切れなくて、「昨日よりちょっと強くなってるな」という感覚が続いていました。
ゲームでレベルが 1 つ上がった時みたいに、自分の中の何かが確実に変わったのが分かる感じでした。
AtCoder って、解けないとしんどいのに、解けたときのリターンがでかいんですよね。
それまでの平日の努力が一気につながって、「やってきてよかった……」と素直に思えた瞬間でした。
解ける日と解けない日
初 AC のあとは、すべてが順調に進んだわけではありません。
「C 問題解けたし、もういけるでしょ!」と思って次のコンテストに出ると、
普通に歯が立たなかったり、考察がまったく合わなかったり。
C が解ける日と解けない日が交互に来るような時期がしばらく続きました。
さらにキツかったのは、たまに C 問題が 350 点になってる回があるときでした。
いつもは 300 点なんですけど、350 点になると露骨に難しくなるんですよね。
「え、今日の C、無理では……?」って感じで、問題文を見た瞬間に心が折れそうになる。
しかも、C を取らないとレートはそこまで上がらないから、
「なんで今日に限って C が 350 点なんだよ……」と嘆いた回もありました。
とはいえ、初 AC の前とは明らかに違うところがありました。
"まったく分からない" から "あとちょっとで届く" に変わった。
この差がめちゃくちゃ大きかったです。
考察の途中で「あ、ここまではいける」「あとこれを詰めればいけそう」という手応えが増えてきた。
少しずつ解けるようになってきた
9 月も 2 回、10 月も 2 回 C 問題が解けて、
成功と失敗を何度も繰り返しながら、少しずつ解ける確率が上がっていくのが自分でも分かりました。
10 月ごろからは、競プロの動画や解説でよく見る基本テクニックが、自分の中でようやく使えるようになってきました。
しゃくとり法、累積和、bit 全探索、BFS、貪欲法、DP(簡単なもの)。
最初は言葉だけ知っていたものが、
「あ、こういう場面でこれ使うのか」という感覚に変わっていって、
問題の読み方そのものが少しずつ変わっていきました。
自分の手で解く楽しさ
AtCoder を続けていると、不思議なことに気づきました。それは自分で考えて解く楽しさがあるなということです。
仕事では毎日 AI エージェントを使っているし、実装も調査も AI に助けてもらっています。
でも、AtCoder では、そもそも AI を使うことが禁止されています。
開催中の ABC,ARC,AGC において、生成 AI の使用を原則禁止とします。
最初は「厳しいな」と思ったんですが、続けているうちに、この制約が逆に心地よくなってきました。
AI を使わないから、仕事でも作業でもなく、完全に自分で生み出している感覚がある。
それは正直、辛いんですよね。
でも、その制約があるからこそ、解けた時の喜びがすごい。
自分の頭だけで考えて、自分の手だけで書いて、それが通る。
その過程そのものが、気づけば毎日の楽しみになっていました。
茶色達成と今
2025 年 11 月 8 日。
その日のコンテストで、ついにレートが茶色に到達しました。
提出が通った瞬間よりも、結果が出てレートの色が変わったときのほうが、
じわっと込み上げるものがありました。
「本当にここまで来たんだ…」という静かな実感がありました。
派手なガッツポーズとかではなくて、
これまでの経験が全部つながって、ひとつの節目を迎えたような、
そんな落ち着いた嬉しさでした。
茶色になったからといって何か劇的に変わるわけではないけれど、
自分にとっては大きな一区切りでした。
「プログラマーなら茶色くらいには…」と自分に言い聞かせて始めた目標が、
ちゃんと形になったのがうれしかったです。
まとめ
「プログラマーなら、せめて茶色ぐらいにはなっておかないと。」
そんな軽い気持ちから始めた挑戦でしたが、
習慣を整えて、小さく積み重ねて、なんとか茶色に届きました。
chokudai さんのブログにこんな言葉があります。
茶色があればエンジニアとしてアルゴリズム面においての安心感があるかと言われたら、正直物足りない
たしかに、茶色になったからといって、アルゴリズムに自信が持てるようになったわけではありません。
まだまだ入口に立っただけなんだと思います。
それでも、自分にとっては大きな一歩でした。
達成したあと、しばらく AtCoder をお休みしています。
燃え尽きたというより、ひとまずやり切った感じ。
でも、またやりたくなる日が来るような気がしています。
その時はきっと、また同じことを言っているんだろうなと思います。
「プログラマーなら、緑色ぐらいにはなっておかないと。」





