短期大学部・総合文化学科 │ 聖徳大学

競技プログラミングのすすめ

24.05.30


プログラミングの分野には競技プログラミング(略称:競プロ)というものがあります。

「競技プログラミング」というのは、

出題された問題の題意を満たすプログラムを、より早く、かつ正確に記述することを競い合うもの。

と書籍『アルゴリズムの乙女たち』の帯にあります。英語に Competitive Programming という言葉がありニュアンスは似ていますが、WikiPedia日本版によると翻訳語ではなく独自に生れた言葉のようです。

競技性があることから、スポーツのような感覚があるようで、ここ2、3年でYoutubeで解説やコンテストの実況投稿を多く見るようになりました。

競技会(コンテスト)に参加すると、世界中のプログラマと競えます。

また、コンテストに参加しなくても、オンラインジャッジシステム(自分の書いたプログラムをオンライン上で採点してくれるシステム)が用意されているのでプログラミング学習にも使えます。学習というとちょっと肩がこりそうですが、ダンスや楽器の演奏のレッスンを受けるようなものです。あるいはゲーム感覚のたのしさがあります。

日本のAtCoder社が提供するコンテストでは、週に1回以上、年間80回を超える回数のコンテストが開催されています。また、成績によりレーティングがおこなわれていて、レーティングによって色が付きます。トップレートの競プロerの色は「赤色」でトップ 0.13% のプログラマであり、「レッドコーダー」と呼ばれて尊敬されています。

AtCoder社自身の情報サイトでは、いろいろな楽しみ方、利用の仕方、非公式情報サイトへのリンクなどがあります。また、コンテストサイトでも、これからプログラミングを学んで、競プロをやってみたい人もふくむ初心者のためのチュートリアルなどが紹介されています。また、非公式サイトではありますが、AtCoderの過去問を難易度応じて17のカテゴリわけていて、ユーザーが自分ぶんのレベルに合せて練習できるようにした NoviSteps というサイトをはじめ、解説、実況、などをやっているサイトやYouTubeチャネルがありますので、そこから、ゲームとしてプログラミングを楽しんでみましょう。

Happy 競プロing!


PAGE TOP