読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

paiza(https://paiza.jp)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

ITエンジニアのレベルアップに最適!競技プログラミングサイト10選

プログラミング Webサービス紹介 競技プログラミング

f:id:paiza:20161207180819j:plain
Photo by Nic McPhee
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

ITエンジニアの皆さんは、競技プログラミングに参加されたことはありますでしょうか?

競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のことです。出題者側はテストデータを使い、回答が正しいかどうか判定されるといった流れで行われるものが多くなっています。

今回は、競技プログラミングを実施しているサイトを10件ご紹介します。

競技プログラミングサイト

◆1.TopCoder

http://www.topcoder.com
f:id:paiza:20150413134559p:plain
TopCoderTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。

TopCoderの各種目に参加すると、プログラミングスキルを表すレーティングと呼ばれる数値が付けられます。一定以上の高いレーティングを持ち、名前が赤で表示されている人物は「レッドコーダー」と呼ばれています。

レッドコーダーとは、レーティングが2200以上の挑戦者のことで、世界中のITエンジニア達の中でも一目置かれる存在です。

コンテストは「Single Round Match (SRM)」「Marathon Match」「Bug Race」等の種目があります。

現在は「TopCoderOpen 2015」のRound1が開催されていますね!

TopCoder Open(TCO)は、毎年1回開催されているトーナメント制の大会で、数回の予選を勝ち抜くと、アメリカで開催される決勝戦に出場できます。

http://tco15.topcoder.com/
f:id:paiza:20150413145121p:plain


◆2.Google Code Jam

https://code.google.com/codejam
f:id:paiza:20150413134721p:plain
Google主催プログラミングコンテストです。4月18日にラウンド1が開始となります!

◆4.HackerRank

https://www.hackerrank.com
f:id:paiza:20150413134810p:plain
HackerRankは、公開されているプログラミング問題を解くことで、回答に応じたポイントがもらえるというサービスです。いつでもチャレンジできる問題に加え、期間が限られたプログラミングコンテストも定期的に開催されています。

◆5.Codeforces

http://codeforces.com
f:id:paiza:20150413134916p:plain
Codeforcesも定期的にプログラミングコンテストが開催されているサイトで、登録さえすれば誰でも参加ができます。かなり頻繁に問題が出題されているサイトです。

◆6.BestCoder

http://bestcoder.hdu.edu.cn
f:id:paiza:20150413135616p:plain
中国の競技プログラミングサイトです!

◆7.CodeChef

http://www.codechef.com
f:id:paiza:20150415145155p:plain
こちらはインドのサイトです。毎月1日からプログラミングコンテストを実施していて、レベルごとの練習問題もありますよ!

◆8.AtCoder

http://atcoder.jp
f:id:paiza:20150413135050p:plain
AtCoderは日本語でプログラミングコンテストを開催しているサイトです。比較的簡単な問題が出題されることもあり、「はじめての方へ」というチュートリアルのページもありますので、「競プロに興味はあるけど、プログラミングスキルに自信があるわけじゃないし難しいかな……」という方や「英語が苦手で……」という方にもお勧めです!

◆9.yukicoder

http://yukicoder.me
f:id:paiza:20150413135706p:plain
yukicoderは競技プログラミングアルゴリズムをゆるふわに練習する目的で運営されています。こちらも定期的にコンテストが開催されており、問題投稿もできますよ!

◆10.POH5「俺(エンジニア)の許嫁と幼なじみが修羅場すぎる」

https://paiza.jp/poh/enshura
f:id:paiza:20150413182838j:plain
f:id:paiza:20150416121823p:plain
paizaでは、paizaオンラインハッカソン Vol.1~4に引き続き、4月14日(火)よりPOH5「俺(エンジニア)の許嫁と幼なじみが修羅場すぎる」( https://paiza.jp/poh/enshura )を開催中です!!

今回の設定は……
あなたは、主人公の元ITエンジニアで現在無職の秋山達也(25歳)。物語は、ITエンジニアを退職した主人公の秋山達也(25歳)が、大好きなアイドル・新田レナのDVDを見ているところから始まります。無職になったことを幼なじみ・佐倉ミナミにとがめられた達也が家を飛び出すと、いきなり新田レナが現れて……?あなたなら幼なじみのミナミと許嫁のレナ、どちらを選びますか……?果たしてハッピーエンドは迎えられるのでしょうか……?

プログラミング問題を解いてお気に入りのヒロインを攻略できる、これまでにないオンラインイベントです。あなたのプログラミングスキルで、全ストーリーを制覇せよ!

今回はさらに英語・中国語にも対応した国際イベントとなっております!!皆様ぜひご参加ください!!


さらに併せて、今回はプログラミング国際大会レナとミナミの国際プログラミング選手権https://paiza.jp/poh/enshura-special )も同時開催しております。
f:id:paiza:20150413183320j:plain

こちら、競技プログラミングの要素を持った大会となっておりまして、国ごと、個人ごとに分かれてプログラミングスキルで対決する、オンライン国際プログラミング選手権となっております。パズルをより短い手数で解くアルゴリズムを構築できるか、で競う大会です。

このように、結果はランキングで表示されます!是非チャレンジしてみてください!


■まとめ

競技プログラミングには、限られた時間の中でいかに効率のよいコードを書くかということにチャレンジでき、またリアルタイムで世界中の猛者達と対戦できるという楽しさがあります。

競技プログラミングの勉強に役立つ本もご紹介しておきますね!

◆最強最速アルゴリズマー養成講座

プログラミングコンテストチャレンジブック

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

paiza動画ラーニングについて

f:id:paiza:20160307113923p:plain
paizaには、オンラインでプログラミング学習ができるパイザ・ラーニングという無料学習コンテンツがございます!現在、PHPRubyPythonの入門編を学ぶことができますが、対応言語は今後もどんどん追加される予定となっています。

プログラミング未経験の方でも、「やさしく・楽しく・わかりやすい1本約3分のレッスン動画」 や 「ブラウザ上でコードを書いて実行できるオンライン実行環境」「複数の練習問題」で、未経験者でも無理なく学習を続けることができます。




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS・A・B・C・D・Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

また、paizaでスキルチェック問題を解くと、ステータスとしてランクが表示され、解いた問題に合わせてトロフィーやバッジが付与されます!是非チャレンジしてみてください!

http://paiza.jp