25
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

50代プログラミング未経験者が7年かけてAtCoderで入緑した話

25
Last updated at Posted at 2026-09-22

こんにちは!AtCoderユーザーの rinrion です。

2026年9月19日に行われたJIJプログラミングコンテスト 2026(AtCoder Beginner Contest 476)にて、アルゴリズムレートで入緑することができました。

AtCoder歴7年4か月、コンテスト参加193回、54歳6か月での入緑です。

スクリーンショット 2026-09-21 163803.png

image.png

この節目に、私のAtCoderコンテストへの取り組みを振り返りたいと思います。7年分のためかなり長くなりますが、よろしければおつきあいください。

1.自己紹介

50代女性です。子育ても一段落し、保護猫2匹とのんびり暮らしています。AtCoderに登録するまでプログラミングに関する勉強はしたことがなく、業務でのプログラミング経験もありません。

2.現在までの道のり

2019年5月~ 競技プログラミングを始める

競技プログラミングに取り組んでいた子どもがあまりにも楽しそうだったので、自分もやってみたいと思いました。

それまでプログラミングとは縁のない生活を送っていたので、自分にできるのか不安もありましたが、それよりもなんだか楽しそうという気持ちのほうが勝ちました。向こう見ずというか怖いもの知らずというか。

まずはAtCoderに登録し、次にC++入門 AtCoder Programming Guide for beginners (APG4b)に取り組みました。

こちらは問題のページから提出ができるので、環境のことが全く分からない私でもスムーズに進めることができました。構造体の章あたりからだいぶ難しくなってきたのでそこまでで中断しました。

その頃にはコードを書いて提出する流れにだいぶ慣れてきました。

その次にAtCoder Beginner Contest (以降、ABC)過去問題のA・B問題を解き始めました。

同時にAtCoder Beginners Selectionの難易度の低い問題にも取り組みました。

初めのうちは何を書けばいいのかさっぱりわからなかったので、他の人の提出コードをひたすら真似しました。

そして、AtCoderに登録して2週間ほど経った頃、ABCに初参加しました。正解できたのはA問題1問だけでしたが、とてもうれしかったことを覚えています。

初参加したのはABC127でした。この頃は全6問でした。

その後の2年間はABCに参加し続けました。どうしても都合がつかず参加できなかった数回を除いてほとんどの回に出ていたと思います。

レートは順調に伸び、登録して8か月後の2020年1月には入茶することができました。しかし、なかなかレートが安定せず、灰色まで大きく落ちてしまった時期もありました。

当時していた精進は、「ABCで解けなかった問題を解いて解法をスプレッドシートにメモする」というものでした。今振り返ると、解けなかった問題を一度解いて記録するだけでは、自分の苦手な部分を十分に補えていなかったように思います。例えば、コンテスト中に解けなかった問題、特に数学問題については、何度も復習して定着させればよかったと思います。

また、コンテスト中にA・B問題に時間がかかったときに焦りすぎたことも、レートが安定しなかった原因だったと思います。

2021年7月~ 休止期

家庭の事情でABCに参加できない時期が1か月ほど続きました。

その後は参加できる状態になりましたが、レートが大きく落ちて灰色になってしまっていたため、これ以上レートを落とすことが怖くて参加できなくなりました。

ABCに参加しない間、AtCoder Heuristic Contest(以降、AHC)には参加していましたが、アルゴリズムの精進はまったくしていませんでした。

2022年3月~ 再開→再び休止

ヒューリスティックレートが緑色上位になった頃、アルゴリズムレートが灰色のままのことを思い出し、やっぱり茶色に戻りたいとABCに参加し始めました。数回続けて参加し茶色に戻れましたが、そこで満足してしまいまた参加しなくなりました。

2023年2月~ 再開→CodeQUEEN決勝進出

偶然目に入った色変記事を読んで刺激を受け、再度ABCに参加し始めました。この頃の精進の内容は以前と同じくABCの復習のみでした。

そしてこの年、CodeQUEEN 2023が開催されました。それまでオンサイトコンテストに参加したことがなかったため、ぜひ出場したいと思い予選に参加したところ、決勝に進出することができました。

コンテスト当日は多くの女性競プロerと交流し、とても有意義で楽しい時間を過ごしました。そして、またCodeQUEEN決勝に進出したい、そのためにもアルゴリズムのレートをもっと上げたいと強く思うようになりました。

2023年8月〜 2年連続CodeQUEEN予選敗退

その後も、またCodeQUEEN決勝に進出することを目標に、ABCへの参加と精進を続けました。

しかし、精進の内容は新しいアルゴリズムの勉強が中心でした。新しいことを覚える方向に意識が向き、使ったことのある解法や実装方法を定着させることが疎かになっていたためか、レートは思うように伸びませんでした。

そうして迎えたCodeQUEEN 2024予選では、焦りも加わって思うように力が出せず、決勝進出はなりませんでした。私は気落ちしてしまい、しばらくの間ABCに参加しませんでした。

数ヶ月経った2025年1月頃にABCに復帰しました。そしてこの頃には「精進の方法が良くないのではないか」と考え始めていました。

しかし、具体的にどうすれば良いのかわからず、同じ方法を続けていました。そして、2025年の予選でも敗退してしまいました。

2025年6月〜 精進方法を見直す

この頃にやっと、どうしたらレートが上がるのかを真剣に考え始めました。

そして、自分の弱みである「既に知っている内容が定着していない」ことに対処するため、精進方法を根本的に見直すことにしました。具体的には以下のことに取り組みました。

難易度が低い問題を確実に解けるようにする

レートを大きく落とす原因となっていた「他の人には易しく私には難しいA・B問題の取りこぼし」をなくすため、今までにコンテストで正解できなかったA・B問題とNoviStepsの10Q〜6Qについて対策しました。

特に数学問題(オーバーフローしないように式変形する・小数の誤差・XOR演算・bit演算など)が苦手だったため、理解できるまでAIに解説させ、繰り返し解いて覚えました。どうしても覚えられないものはすぐ検索できるようにキーワード付きでスプレッドシートに記録しています。

NoviSteps解法別問題集のうち苦手分野の問題を解く

特にスタック・キュー・再帰関数について理解が深まりました。

EDPCの問題を解く

DPに対して苦手意識があったので取り組みました。

解法別の問題集に取り組むうちに、類題を続けて何問も解くことで理解が深まり記憶にも定着することに気づきました。このことから、ABCに参加した際に解けなかった問題については過去問から類題を探して解くようにしました。

また、同じアルゴリズムを使う問題でも、出力する内容などで実装の仕方を変えなければいけない場合にいつも混乱していたので、納得いくまで違いを調べるようにしました。

ABC212〜318に取り組む

2025年末頃、「ABC対策にはABC212~318の範囲を解くとよい」という話を聞きました。

これまで自分が受けてきた資格試験(英検、建設業経理士、基本情報技術者)は「過去問を暗記する」ことで合格してきたことから、「ABC212~318の問題・解法・実装コードを丸暗記する」ことを精進の目標としました。

A・B問題については苦手な数学問題に絞り、C・D問題はNoviStepsの1Qまでを対象にすることにしました。

更に、それまでの経験から問題を一度解いただけでは覚えられないことがわかっていたので、取り組みを何周も繰り返すことにしました。

一周目は、以下の作業を行いました。

・解法を考え、解説で確認する
・解説のコードを見ながら実装する
・問題の内容と解法を短文でまとめる

現在は、二周目として以下の作業を行っています。

①解法をすぐに思いつけるかを確認する

問題文と解法の一対一対応の暗記を目標としているので、初見の問題に応用できるかは微妙なところですが、解法の引き出しを増やして定着させることを目的に行っています。

②解法がわかっている状態で実装できるかを確認する

③問題内容や考察内容について図解を手描きする

それまではコンテスト中に手描きすることを面倒がって、問題理解や考察をすべて頭の中で行っていました。その結果、問題内容を勘違いしたり問題理解に時間がかかることがよくありました。

そのため、コンテスト外で何度も描くことで手描きの習慣を定着させることにしました。

この取り組みを続けたところ、コンテスト中にも図を描けるようになり、問題をシンプルにして解法につなげることが以前よりできるようになってきました。

過去の自分にとっては、解法の引き出しを増やすと同時にこの練習が必要だったと思います。

①は電車の中などの空き時間でもできますが、②はPC前の時間、③はiPadを扱える時間が必要なので、進み具合に差がついています。結果的に、同じ問題に時間を空けて何度も取り組むことになり、これが記憶の定着に役立っているように感じます。

2026年4月〜 レートが上がり始める→入緑

この頃から、コンテスト中に図を描いていて解法が浮かんでくることが増えました。また、図を描くことで問題理解がスムーズになったためか、D問題を必要以上に恐れることが少なくなりました。

そして、4月頃からレートが上がり始め、6月頃に一旦下がったものの再び上昇し、9月に入緑することができました。

そして嬉しいことに、CodeQUEEN 2026決勝にも3年ぶりに進出することができました!当日は知り合いの方たちはもちろん、はじめましての方ともたくさん交流でき、夢のように楽しい時間を過ごしました。

来年も開催してくださると信じていますので、また決勝に行けるように引き続き頑張ります。

3.いま思うこと

噂は本当だった

「自分にとって効果的な精進をしていても、効果が出てくるまでにはタイムラグがある」という話を複数人から聞いていました。

本当かなと思っていましたが、私自身も精進の方法を変えてからしばらく経った後に、急にレートが上がり始めました。噂は本当だったと、身をもって知りました。

振り返ってみると、精進の効果はレートだけにすぐ現れるものではなく、まず自分の中でできることが増え、その後にレートの変化として現れてきたように思います。

今の自分に合った精進方法を

この7年余り、いろいろな精進方法を試してきました。うまくいった方法もあれば、あまり効果を感じられなかった方法もありました。

振り返ると、その時々の自分の課題に合わせて精進方法を変えていくことがレートの上昇につながったように思います。

これからも、他の人の精進方法を参考にしながらその時々の自分に必要なことを考えて、いろいろな方法を試していきたいと思います。

4.最後に

ここまでお読みいただきありがとうございました!

7年余りの間には、ABCから離れた時期が何回もありました。それでも今まで続けてこられたのは、気さくに交流してくださるみなさんと、直接交流がなくても競プロについて発信をしてくださるみなさんのおかげです。本当にありがとうございます。

これからも頭と身体が続く限り、競プロを楽しんでいこうと思います。

25
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?