Photo by Nic McPhee
こんにちは。谷口です。
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攻略ガイド
- 作者: 高橋直大
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2012/09/27
- メディア: 単行本
- 購入: 9人 クリック: 319回
- この商品を含むブログ (8件) を見る
◆プログラミングコンテストチャレンジブック
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (36件) を見る
■paiza動画ラーニングについて
paizaには、オンラインでプログラミング学習ができるパイザ・ラーニングという無料学習コンテンツがございます!現在、PHP・Ruby・Pythonの入門編を学ぶことができますが、対応言語は今後もどんどん追加される予定となっています。
プログラミング未経験の方でも、「やさしく・楽しく・わかりやすい1本約3分のレッスン動画」 や 「ブラウザ上でコードを書いて実行できるオンライン実行環境」「複数の練習問題」で、未経験者でも無理なく学習を続けることができます。
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。