Photo by alipakbar08
こんにちは。谷口です。
ITエンジニアの皆さんは、競技プログラミングに参加されたことはありますでしょうか?
競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間で解く競技大会のことです。出題者側はテストデータを使い、回答が正しいかどうか判定されるといった流れで行われるものが多くなっています。
今回は、競技プログラミングを実施しているサイトを10件ご紹介します。
■競技プログラミングサイト
◆1.TopCoder
http://www.topcoder.com
TopCoderはTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。
TopCoderの各種目に参加すると、プログラミングスキルを表すレーティングと呼ばれる数値が付けられます。一定以上の高いレーティングを持ち、名前が赤で表示されている人物は「レッドコーダー」と呼ばれています。
レッドコーダーとは、レーティングが2200以上の挑戦者のことで、世界中のITエンジニア達の中でも一目置かれる存在です。
コンテストは「Single Round Match (SRM)」「Marathon Match」「Bug Race」等の種目があります。
現在は「TopCoderOpen 2015」のRound1が開催されていますね!
TopCoder Open(TCO)は、毎年1回開催されているトーナメント制の大会で、数回の予選を勝ち抜くと、アメリカで開催される決勝戦に出場できます。
◆2.Google Code Jam
https://code.google.com/codejam
Google主催のプログラミングコンテストです。4月18日にラウンド1が開始となります!
◆3.Facebook Hacker Cup
https://www.facebook.com/hackercup
Facebookが主催する、プログラミングコンテストです。
◆4.HackerRank
https://www.hackerrank.com
HackerRankは、公開されているプログラミング問題を解くことで、回答に応じたポイントがもらえるというサービスです。いつでもチャレンジできる問題に加え、期間が限られたプログラミングコンテストも定期的に開催されています。
◆5.Codeforces
http://codeforces.com
Codeforcesも定期的にプログラミングコンテストが開催されているサイトで、登録さえすれば誰でも参加ができます。かなり頻繁に問題が出題されているサイトです。
◆6.BestCoder
http://bestcoder.hdu.edu.cn
中国の競技プログラミングサイトです!
◆7.CodeChef
http://www.codechef.com
こちらはインドのサイトです。毎月1日からプログラミングコンテストを実施していて、レベルごとの練習問題もありますよ!
◆8.AtCoder
http://atcoder.jp
AtCoderは日本語でプログラミングコンテストを開催しているサイトです。比較的簡単な問題が出題されることもあり、「はじめての方へ」というチュートリアルのページもありますので、「競プロに興味はあるけど、プログラミングスキルに自信があるわけじゃないし難しいかな……」という方や「英語が苦手で……」という方にもお勧めです!
◆9.yukicoder
http://yukicoder.me
yukicoderは競技プログラミング・アルゴリズムをゆるふわに練習する目的で運営されています。こちらも定期的にコンテストが開催されており、問題投稿もできますよ!
◆10.POH5「俺(エンジニア)の許嫁と幼なじみが修羅場すぎる」
https://paiza.jp/poh/enshura
paizaでは、paizaオンラインハッカソン Vol.1~4に引き続き、4月14日(火)よりPOH5「俺(エンジニア)の許嫁と幼なじみが修羅場すぎる」( https://paiza.jp/poh/enshura )を開催中です!!
今回の設定は……
あなたは、主人公の元ITエンジニアで現在無職の秋山達也(25歳)。物語は、ITエンジニアを退職した主人公の秋山達也(25歳)が、大好きなアイドル・新田レナのDVDを見ているところから始まります。無職になったことを幼なじみ・佐倉ミナミにとがめられた達也が家を飛び出すと、いきなり新田レナが現れて……?あなたなら幼なじみのミナミと許嫁のレナ、どちらを選びますか……?果たしてハッピーエンドは迎えられるのでしょうか……?
プログラミング問題を解いてお気に入りのヒロインを攻略できる、これまでにないオンラインイベントです。あなたのプログラミングスキルで、全ストーリーを制覇せよ!
今回はさらに英語・中国語にも対応した国際イベントとなっております!!皆様ぜひご参加ください!!
さらに併せて、今回はプログラミング国際大会「レナとミナミの国際プログラミング選手権」( https://paiza.jp/poh/enshura-special )も同時開催しております。
こちら、競技プログラミングの要素を持った大会となっておりまして、国ごと・そしてお気に入りのヒロイン(レナかミナミ)ごとに分かれてプログラミングスキルで対決する、世界初のオンライン国際プログラミング選手権となっております。
このように、結果はランキングで表示されます!是非チャレンジしてみてください!
■まとめ
競技プログラミングには、限られた時間の中でいかに効率のよいコードを書くかということにチャレンジでき、またリアルタイムで世界中の猛者達と対戦できるという楽しさがあります。
競技プログラミングの勉強に役立つ本もご紹介しておきますね!
◆最強最速アルゴリズマー養成講座
最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド
- 作者: 高橋直大
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/09/29
- メディア: 大型本
- 購入: 9人 クリック: 319回
- この商品を含むブログ (8件) を見る
◆プログラミングコンテストチャレンジブック
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (36件) を見る
paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS・A・B・C・D・Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。
また、paizaでスキルチェック問題を解くと、ステータスとしてランクが表示され、解いた問題に合わせてトロフィーやバッジが付与されます!是非チャレンジしてみてください!