見出し画像

競技プログラミング振り返り

Pythonの勉強を4月から進めてきました。
その振り返りを書き記しておきます。

4月初旬〜5月上旬

会津オンラインジャッジ(AOJ)のITP1をやってました。
Qiitaでレッドコーダーの方が書いた記事に、まずはAOJのITP1で慣れるといいと書いてあったので素直に始めましたが、プログラミングすらしたことがなかった私には、ちょっと難しいものがありました。一問目はHello Worldであるものの、2問目から急に難しくなってしまう印象。ただ挫折しても仕方ないので、ググって少しずつ書き方を覚えていきました。ただ1ヶ月ちょいかけても、完全独学では30問程度しか解けず、辛くなってきてしまったので息抜きをすることにしました。

5月中旬〜現在に至るまで

まだ始めて間もないので、いきなり「現在まで」になるわけですが(笑)
AtCoder Problemsという過去問を集めたサイトを利用して、最も簡単なA問題を100問ほど解きました。その後、B問題に移り、時折C問題に挑戦し、勉強の成果を測定するために週末のコンテストに参加しています。

成果とこれから

AtCoderのA問題とB問題は合計15分以内に解けるようになってきました。ただ、簡単な問題ならばという前提で、難易度が100前後の数学的考察を織り交ぜた問題になると途端に時間を要するようになります。
コンテストでは350〜480程度のパフォーマンスが出せるようになり、C問題が簡単ならば茶パフォーマンスが出たり出なかったりというレベルです。

こうして振り返ってみると、根本的に算数の素養がないことに気づいてしまい愕然としています。小学生の時点から算数が苦手なことは自覚していましたが、世間とこれだけの格差が生まれてしまっていることに焦り(なかば恐怖)を感じています。ウェブで上達のコツ等を教示くださる方々は、この手のものは得意なのかパフォーマンスの上がり方が尋常ではありません。正直、私がどれだけ時間を積み重ねればいいのか途方に暮れています。
ただ、嘆いてボンヤリしていても仕方ありません。スマホアプリで小学校高学年〜中学数学3年分を復習できるものを見つけたので、ちょっとした空き時間に問題を解くようにしています。図形の理解が足りていないのが見えてきて、これはこれで有用かと自分を慰めています。

上に貼り付けたQiitaの記事によると、「補正をなくした場合の平均レーティングは 600〜700 (茶色上位相当)」らしいので、まずはここに到達できるようになりたいなと思っています。なるべく緑コーダーになりたいと思っていますので、まあまずは茶色になることなのですが…そういう意味ではABCDの4完を目指してもう少し精進しようかと思います。

おわり

この記事が気に入ったらサポートをしてみませんか?