AtCoderを始めた経緯
AtCoder自体大学の講義でやんわりと聞いたことがある程度でいつかやろうかなとぼんやりと考えていました。
大学3年の後期終わり自動車免許をとり終え、時間のゆとりが生まれた時期にある動画に出会いました。
テレ東BIZで配信されている
未経験者のアナタもハマる?競技プログラミング「AtCoder」って何だ?
AtCoderは一種のゲームみたいなものと高橋社長が紹介しているのを見てゲーム感覚でプログラミングができるって今までにないコンテンツではないかとハッとしました。
その当時AtCoderしか知らなかったので、高橋社長は競技プログラミングという概念を作り上げた人だと思ってました。
ゲームも好きだしプログラミングも好きだった私は一石二鳥じゃん!!と思い、競プロを始めることにしました。
C++での挑戦(2021年3月~10月)
とりあえず競プロ界隈で有名な螺旋本に着手しました。初等的整列の復習であったりスタックやキューといったデータ構造・動的計画法・幅優先探索・深さ優先探索など収録しています。競プロ初心者の私でもわかりやすくベテランの人も復習がてらに使える名著です。
この本の通り競プロと言えば、C++だろと思い込んでたんですけどC++自体あまり書き慣れていないのですぐ挫折してしまいました。Pythonはローコードで見やすいデバッグしやすいといった点自分と相性が良かったです。
この本ではC++の解答例が載っていますが、AOJの公式サイトアルゴリズムとデータ構造入門にPythonの解答例があります!青や黄色などさらに上を目指すなら実行速度の都合上C++で解いた方がいいかもです。
Pythonでの挑戦(2021年10月~)
この時期から本格的に競プロに力を入れました。授業でPythonを触っていたとはいえ競プロ特有の標準入力の形に慣れていなかったので、そこから取り組みました。そしてAtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~とAOJプログラミング入門といった流れで進めました。
ここら辺は基礎中の基礎なので、解ける人はAtCoderProblemsのサイトで精進しちゃってください。なかなかレーティングも上がらず茶色になるのは相当先になると察しましたね 💦
Python3の参考書はこちら
メンタル面に関して
そこから就活やら卒論やらで忙しくなりながらも継続してABCに参加しました。
継続するコツとしては
1.他人と比較するのでなく自分の過去の成績と比較する。
2.間違った問題や典型的な問題(解けた問題でも)何周もする。
の2点、AtCoderに参戦する人は文系・理系・情報系など様々なバックグラウンドを持ちます。中には高校生の段階でレッドコーダーになる人もいるぐらいなので他人の成績で一喜一憂してもしょうがないです。
前に解けなかった問題が解けて嬉しいこの感情を大切にしましょう。
参加者の中には情報系でバリバリ研究をしている人もいるので文系の人で成績上がらなくて悩んでいるのはみんなそうです。成績が上がるタイミングは人それぞれです。
レーティング推移
入茶するのに1年7ヶ月とめちゃんこに時間がかかりました。全然成績が上がらない人は私のレーティング推移をみて まだマシかも? と元気付けてください! 私も元気に参加し続けます!
最初の方の上がり幅が少しなのはC言語でチャレンジしたりとVsCodeの環境構築が上手くいってなかったためです。適当なテキストエディタでプログラミングをするといったことはやめてください笑