みこしの活動日記

みこしの日々の活動を記録していきます。

競技プログラミングとは?

私は学部2年になって、そろそろ情報系の学生らしいことをしなくてはまずい…

 

と思い、競技プログラミング(略して競プロ)を始めました。

 

そもそも競プロって何??ということですが、

 

数学的な問題を課されてそれに適切な答えを返すプログラミングのコードをいかに素早く書けるかという競技です。

 

とっても簡単な例で言えば

 

整数xとyが与えられます。x+yを計算してください。

入力: 3 4

 

だったら

 

出力: 7

 

という風になります。

 

実際にプログラミングのコードを書いてオンライン上に提出し、それを機械が自動で採点し、正解不正解を判定してくれます。

 

競プロをやって身につくのはアルゴリズムの実装力だと個人的には思っています。情報系の人間としてアルゴリズムの実装力はあって困らないものです!!

 

競プロのサイトとして現在私はAtCoderを使っています。プログラミング言語C#を使っています。

f:id:quietMikoshi:20190108220415j:plain

 

なぜAtCoderを利用しているかといえば、現在世界にいくつかある競プロサイトの中で日本語対応している数少ないサイトだからです(他は英語がほとんど)。

 

 また、私はUnityというゲームエディタに興味があるのですが、Unityの実装言語がC#で、C#で競プロも練習すれば一石二鳥だと思ったためC#を使っています。

f:id:quietMikoshi:20190108221829j:plain

 

(※ただし競プロはC++という言語を使っている人がかなりの多数派です。Cという文字は共通していますが別物です。)

 

簡単な問題なら標準入出力のやり方さえ知っていれば解けるものもあります。難しい問題になると世界で数十人しか正解のコードを提出できないというものもあります。

 

もちろん精進しないと上達しませんが、難しい問題をコードを色々と書き直して正解までたどり着いたときの爽快感はたまりません。これが競プロの醍醐味です。

 

 

と、競プロの紹介をしてきましたが、

 

競プロのモチベを保つためにもAtCoderを中心に今後競プロの記事を書いていきたいと思います!

 

競プロ、楽しんで行こ~!!

 

 

私のAtCoderアカウントも載せておきます。