はじめに
AtCoderを2023年の8月頃からコソコソとはじめ、2023年の11月にようやく入茶したのでそのレポートを書きたいと思います。
見て分かる通り、一番最初は3月に参加したのですが詳しくは後述します。
自己紹介
情報系の学部に通う大学3年生です。
プログラミングは大学1年生からはじめ、
python、C、C++、Haskell、R、Ruby、などなどを色々かじってますが、
競プロではpythonを使っています。
静的型付け言語をもっと頑張りたいなあと思いつつ、結局楽なPythonに逃げてしまいます💦
関数型言語のHaskellも極めてみたいです!
競プロを始めたきっかけ
私が競プロを始めたきっかけは、とある企業のインターンシップです。
もともと授業のプログラミングは好きだったので、
プログラミングができるインターンがあるよ〜と学校から募集があったときに申し込みをしました。
そこのインターンを今年の2月で終え、楽しかったなー続けたいなーと思いつつも、
他のやるべきことに追われて結局続けられず、2回くらいで終わってしまいました。
就活するのか院進するのか、色々悩んで紆余曲折あり、
8月頃から本格的にエンジニアを目指し始めたので、競プロを再開しました。
今は、純粋に「楽しい」という思いと、エンジニアとして「実装力を身につけたい」というモチベーションでAtCoderに取り組んでいます。
入茶するまでにやったこと
私が入茶するまでにやったこととしては、大きく2つです。
- AtCoder Beginners Selectionを解く
- 毎週のABCに参加し、毎回振り返りをする
以上です。
私は、習うより慣れろ精神で、問題を解きながら理解するタイプなので、
とにかくたくさんの問題に触れてたくさん練習していました。
アルゴリズムも、問題に出てくるたびに覚えるという方針を取っていました。
毎回のコンテストの振り返りとしては、こんな感じでやっていました。
- 自分が解けなかった問題で、分からなかったポイントを整理する
- 解答例を見て、自分の分からなかったポイントをどうやって実装しているのか確認する
a. ここで何かしらのアルゴリズムが出てきたら、記事を探して勉强する - 自分の回答ファイルと別ファイルを作って、実装してみる
ちなみに解答例が自分の使った言語と違う場合は、
その言語の習得のために自分でpythonに直してみるか、ChatGPTに変換をお願いしていました。
結果的に、割と効率よく茶色までたどり着けたんじゃないかなあと思います。
今後の意気込み
茶色まではなんとなくで取り組んでいても簡単にたどり着けましたが、
次の緑までにはD問題が安定して解けるくらいまでの実装力が必要だと思うので、
「常設中のコンテスト」やAtCoder Problemsを活用しながら
競プロに触れる頻度を増やそうかなあと思っています。
来年には入緑し、とりあえずは水色エンジニアを目指したいです。