失敗しない大学生活

浪人、サークル会長、10以上のアルバイト等様々な経験をした大学生による雑記ブログ プログラミング、バイク、恋愛、生活についてなどなど

競技プログラミングとは?プログラミング初心者にこそオススメ!


ご覧いただきありがとうございます!

早速ですが、「競技プログラミング」略して「競プロ」のこと知ってますか?

本記事では「競プロ」とはなんなのか、を説明したあとなぜ初心者にもオススメするのかをまとめていきたいと思います。


そもそも競プロとは?


文章で書くより実際に問題を見た方がイメージつきやすいと思うので以下の問題をご覧ください。

f:id:madao329:20190319221059p:plain

A、B、C、Xについては具体的に値が与えられます。


どうですか?
高校までに習った簡単な数学の問題なので答えは簡単に求めることができると思います。


これを解くプログラムを書き、その正確性や速度を競うのが競技プログラミングです。


正解が1つじゃない問題もたくさんあり、自分の考えで書いたコードが答えを導き出せたときすごく幸せな気分になります。



競技プログラミング経験者は就職にも有利?


最近メキメキと競技人口を増やしている競技プログラミングは、就職活動においてもその威力を発揮することになります!!

競技プログラミングを始める場合、基本的にはAtCoderにより毎週開催されているオンラインコンテストを利用すると思いますし、日本では最大級ですのでそれがオススメです。
(上の例題もAtCoderのものです。)


ユーザー登録をしてコンテストに参加することにより、毎回のコンテスト結果に合わせてあなたのレーティングが変動するので、これがあなたの現在の実力を表す指標となります!

このレーティングに関してはQiitaの以下の記事を書いている方が表を作成してくださっているのでそちらを載せたいと思います。
qiita.com

f:id:madao329:20190319223212p:plain


まだ実際やったことない方は感覚が掴めないとは思いますが、茶色レベルなら割とすぐにいきます。

ただ水色に到達するためにはある程度の慣れや勉強が必要になってきます。


そのため、水色が1つの目指すべき目標だと考えていいと思います。


水色であればIT企業へのエントリーシートにも自信を持って書くことができますし、アルゴリズムの実装に関してはその辺のIT業界の人よりはるかに詳しいことの証明となります!


頑張って勉強すれば3ヶ月くらいで達成できる目標かと思います。



競プロ始めたいんだけどなにをすればいい??


まず初めにAtCoderに登録すればいいと思います!
atcoder.jp


登録すればこちらのコンテスト(AtCoder Beginners Selection - AtCoder)に基本的な問題が10問あるので、これを順番に解いていくことで競技プログラミングの流れが分かります!

qiita.com


まとめ


今回は競技プログラミングと、それをオススメする理由、具体的な始め方についてまとめました。


時間のある大学生にとっては非常に有意義な趣味となるのでよかったらやってみてください!

良い大学生活を送りましょう!