🐕

Atcoder茶色🟤になるまでの勉強法、振り返り

2024/10/21に公開

はじめに

最近、競技プログラミングAtcoderで茶色になりました。

茶色のレベル感としては、他サイトから引用すると以下のとおりです。

Rating 400以上 (茶色)

AtCoderにおける分布(2023/11/20現在)
実レーティング分布: 上位28.462%
内部レーティング分布: 上位45.928%

期待できる能力
コーディングへの安心感がある程度持てます。学生や派遣社員などが茶色のレーティングを持っていたら、とても喜ばしいです。
基礎的なアルゴリズムへの理解があります。典型的な処理であれば、動的計画法、二分探索などのメジャーなアルゴリズムを適用することが出来ます。一方、少し典型から外れてしまうとまだ解くことが出来ません。
競技者としては、多くの参加者がまず目指すべきラインはここでしょう。数学的素養がそれなりにあり、しっかりと練習すれば到達可能な水準です。逆に言えば、才能や素養が十分にあるか、競技者としてしっかり取り組んだかのどちらかを必ず満たしているのがこの色です。

(引用元:https://info.atcoder.jp/utilize/jobs/rating-business-impact)

著者の基本情報

  • 私立文系大学を卒業(大学時代のプログラミング経験は皆無)
  • 使用プログラミング言語はPython

茶色コーダーになるために基本戦略

1.AとB問題は早く解く
2.C問題はコンテスト中に75%解けるようにする

行った勉強

Step1 「Python基礎を復習」

業務でPythonを触ったことがありましたが、念の為Python基礎を復習しました。
私が使った勉強で使ったのは、Atcoderサイトにある「Python入門 AtCoder Programming」です。
https://atcoder.jp/contests/APG4bPython

Step2 「B問題をとにかく解く」

茶色になるための基本戦略は「AB問題は素早く解く、コンテスト時間内にC問題を解き切る」です。そのためAtcoderには沢山の過去問題があるので、できる限り解きました。

Atcoderの精進をする際には以下のサイトを使うと、問題の難易度(Difficulty)がわかったり解いた問題がマークされるので便利です。
https://kenkoooo.com/atcoder/#/table/

Step3 「基礎アルゴリズムを勉強する」

C問題を解くために、基本的なアルゴリズムを勉強しました。
私は以下の本で勉強しました。
https://gihyo.jp/book/2022/978-4-297-12521-9
https://github.com/E869120/math-algorithm-book

また、コードを書いて練習したいときは「アルゴ式」というサイトを使っていました。
https://algo-method.com/topic_themes

Step4 「C問題をとにかく解く」

基本的なアルゴリズムを勉強した後、C問題の精進に取り組みました。
私は30分程度C問題を解いてみて、わからなければEvimaさんの解説動画を見て振り返りしました。
https://www.youtube.com/@evimalab

振り返り

Step3「基礎アルゴリズムを勉強する」に時間を割きすぎたかも。。。
アルゴ式だけ解いてStep4 「C問題をとにかく解く」に早く移行した方がよかったかも。。。

Discussion