★本記事は5分で読み終わります
【記事の信頼性】
京大卒の現役ITエンジニアである筆者が、「プログラミング初心者だけどプログラミングスキルを向上したい」と考えている人に向けた記事です。
この記事はそんな悩みを持つ人に向けて書いています。
今回は競技プログラミングを利用して、プログラミングを向上する勉強方法について紹介していこうと思います!
無料で誰しもが簡単に始められるというメリットがとても大きく、学生なら就活にも活用できますよ。
競技プログラミングでプログラミングスキルを向上しよう
競技プログラミングとは
そもそも競技プログラミングって何なのか説明すると、競技プログラミングとは
制限時間内に要求された動作をするプログラムを作成し提出すること
で、コーディングスキルを競い合う競技のことです。
競技プログラミングのサイトとしては、AtCoderがおすすめです。
競技プログラミングの色がスキル向上のモチベになる
AtCoderでは、プログラミングの速さや正確さで得点が算出され、柔道の帯のように「色」でプログラミングのスキルを表現します。
いわゆるレート性というやつですね。このレートによって自分のスキルの向上具合が目に見えるの本当に楽しいです。
色の順番は上位から赤・橙・黄・青・水・緑・茶・灰・黒です。
近年では、AtCoderの色を就活で質問するIT企業が増えてきていて、就活で目に見えてプログラミングスキルを表せる指標として使われています!
プログラミングの速さ、正確さと聞いてしまうと、難しく感じてしまうかもしれませんが、簡単な問題も沢山が用意されています。初めは簡単な問題を解いてみことをオススメします。
解けると達成感があるので、初心者にもおすすめです!
例えば、この問題をみてください。
解説には動画もあるので分かりやすいと思います。
毎週開催されるコンテストでスキル向上しよう
またAtCoderは、コンテストがほぼ毎週開催されています。
なんと3000人ほどが参加しています!
無料で登録を済ませれば参加可能なので、さらっと気軽に参加して腕試してみてはいかがでしょうか??
さらに、コンテストの過去問と解答が公開されているので、暇なときに問題を解いてみてどんどんスキルを磨きに活用しましょう!
また、コンテスト終了後であれば他の人が提出したコードを読むことができるので、それを参考にすることも可能です。
レートの高い人のコードを見るととても参考になります。
C++の習得!!
AtCoderはたいていのプログラミング言語に対応しているので、この言語でなければいけないというものはありません。
しかし、問題によってはプログラムの実行速度が問われることになります。
「Python」などのスクリプト言語では処理速度がボトルネックになり、実行時間制限オーバー(TLE:Time Limited Exceeded)してしまうことがあるんです。
そこでAtCoderではC++をオススメしています。
C++はC言語の拡張版のオブジェクト指向のプログラミング言語です。
プログラムは高速に動き,システム拡張やシステムの保守に優れていることが特徴です。
将来、システムエンジニアやWebアプリのプログラマーを目指している人などにはおすすめの言語です。
もちろん、計算のアルゴリズムを工夫することで同一の問題でも対策できることもあるので、一概にコンパイル型言語が良いとも言えませんので初心者の方はこちらの記事も参考にしてみてください。
競技プログラミングをやってみたくなった方は、こちらから練習してみてください。
まとめ
いかがだったでしょうか?
競技プログラミングへの抵抗感を無くしてもらえるきっかけとなってくれればと思います。
きっとあなたに作りたいものが見つかったときに、それを実現する助けとなることでしょう。