AtCoder緑になりました
先日のAtcoder Beginner Contest 272を持って緑コーダーになることができたので自分が今までしてきたことを共有していきたいと思います。競技プログラミングをする動機など
自分はコロナ禍をきっかけに競技プログラミングを始め、半年くらいはまっていたのですが、卒論などが忙しくなるにつれて競技プログラミングに時間が取れなくなり、二年近く競技プログラミングから離れてしまっていました。 しかし、今年に入り就活関係のコーディング試験で解けない問題が意外とあることに気が付き、加えて、就活をする上で何かガクチカ的なものが欲しいと思い、とりあえずAtCoder水色になってみようと思い、再び競技プログラミングを再開しました。緑コーダーになるためにやったこと
ほぼABCだけです。競技プログラミング初心者がまず躓くのはABCのC, D問題あたりだと思います。自分もD問題が全然解けなかったので、とりあえずD問題をAtCoder ProblemsのDifficultyが低い順に解いていきました。 問題を通して出てきたアルゴリズムやデータ構造を調べるといった方法で、本ではあまり熱心に勉強はしていません。 また、D問題だけではなくE問題まで解けると早くレートを上げることができると考えたので、E問題もDifficultyが低い順に解いています。精進の結果は以下の感じです。あと、経験則でわかってきたのですが、茶色の問題は30問も解けばできるようになって、緑も50問で解け始めてきたのですが水色は本番での正答率があまり高くありません。Difficultyが高い問題ほど、そのレベルの問題を多くこなす必要がありそうです(多分)。身につけたデータ構造など
二分探索、UnionFind、ダイクストラ法、幅優先探索、Set、ワーシャルフロイド法、累積和などが主に緑になるために身につけた知識です。覚えたアルゴリズムおよびデータ構造は、紹介されている記事をブラウザでお気に入り登録しておいて必要になったときにコピペして使えるようにしています。また、C++のmultisetはPythonで代用できるライブラリが見つからなかったことに加えて、競技プログラミングをやる上である程度まで行くとC++で戦うことになるのかなとも思ったので、最近はPythonからC++に乗り換え始めてもいます。
今後について
就職活動に間に合うように早く水色コーダーになって自分が希望する企業に入れたらいいなと思います。今はそれが全てです。来年余裕が出てきたらICPCに結局まだ参加できていないので、友達を誘って学生生活最後の記念にICPCとかに参加したいです。あと、大学を卒業する前にC#でゲームを作りたいという目標もあります。