最近AtCoderをやってる話
最近AtCoderのコンテストに参加している。初めて参加したのが、2022/10/15だから、もう少しで2ヶ月経つ。一度参加しなかった週があるけど、それ以外は参加していて、コンテスト参加は計6回。
始めようと思ったきっかけははっきりとは覚えてないけど、「エンジニアだったら茶色ぐらいはいけるでしょ」的なtweetを見たからだった気がする。(AtCoderではランクによって色分けされている)
5年ほどエンジニアとして働けてきたが、大学も行ってないし、高校も商業系だったので、数学をきちんと勉強したこともなく、コンピュータサイエンスとか、アルゴリズムとか、その辺りに対してはすごく苦手意識というかコンプレックスがある。
1 ~ 4回目の参加はA問題、B問題は解けるけど、C問題は全く解けない、って状態だった。
コンテストに参加したけどC問題全然わからん。
— fu (@fuuukeee3) 2022年10月15日
愚直にやるとほぼタイムアウト。。。
アルゴリズムわからん。#AtCoder
AtCoder、2回目のコンテスト参加。C問題は全く解ける気がしない。
— fu (@fuuukeee3) 2022年10月29日
C問題がある程度解けるレベルで茶色になれるって認識だったので、茶色でさえすごく遠くに感じた。茶色にも届かないんじゃないかと焦った。でも、茶色まではいきたいと思った。
QiitaとかでAtCoder関連の記事を読んだ。
1-5. 「茶色コーダー」で要求される 4 つのこと
AtCoder で茶色コーダー、つまりレーティング 400 に到達するためには、AtCoder Beginner Contest の A, B 問題が確実に(大方 15 分以内で)解ける
AtCoder Beginner Contest の C 問題も簡単なものなら解ける
茶色は思ってるより高い壁ではないかもと思った。コンテストに出続けて、問題に慣れていくことが大事。
ABS(AtCoder Beginners Selection)を解いてみた。C問題レベルのABC085CとABC049Cが自力で解けた。特別なアルゴリズムを利用しなくても、問題をきちんと理解して、問題の通り実装すれば、解ける問題もある。
アルゴリズム関連の本も読みはじめた。
コンテストに慣れてきたのか、直近2回では時間内にC問題まで解くことができた。慣れって大事だと思う。競技プログラミングは問題文が独特の言い回しだったりすることもあり、はじめてだと問題を読み解いたりするのにも時間がかかる。
コンテスト中にC問題が解けるようになって、Ratingも200を超えてきて、このまま続けていったら茶色にはなれるかな、ってところが見えてきたので、嬉しくなってブログに書いてみた。
茶色になったら、入茶記事書く。