海外で人気の競技プログラミング・コンテストサイト21選

date_range 2022/11/12
GUARDIAN Creative BLOG
スクリーンショット 2022-11-12 9.02.54

競技プログラミングって、参加されたことはありますか?


ちょっとマニアックなイメージだったり、とっつきにくいイメージがあったり…

でも日本発の競技プログラミングである「Atcoder」の人気が出てきてから、以前より競プロを始める人がかなり増えたような気がします!


ところで日本では「競技プログラミングといえばAtcoder」というくらいAtcoderが人気ですが、海外ではかなり様子が違うようです。


また最近は「競技」の部分よりもプログラミングスキル向上に焦点を当てたサイトがたくさん出てきており、LeetcodeHackerrankといったサイトでは楽しみながらプログラミングスキル向上を図ることができます。コンテストも毎週のように開催されており、「競技」というよりは「コーディングチャレンジ」といった雰囲気です。


またそういったサイトでは多くの企業がスポンサーとしてついており、企業との結びつきを得られるというのも特徴のひとつです。


今回はそんな海外で人気のサイト21選を、ジャンル別にまとめました!

日本ではマイナーなものがほとんどでかなりマニアックな内容になっておりますのでご期待ください(*´꒳`*)


【やっぱり楽しまなきゃ♪】スキル向上にフォーカスした人気サイト

Leetcode


ユーザー登録者数500万以上の超人気サイト。プログラミングコンテストのサイトとしては世界最大規模だと思われます。

毎週のコンテストに加えて隔週でのコンテストも開催し、またコンテスト以外にもアルゴリズム・データーベース・SQLなど様々な項目を学ぶための各種カリキュラムが用意されています。

プログラミングコンテストに特化したサイトというよりは、プログラミングを学ぶための総合的なプラットフォームのような印象です。


UIがとても綺麗で使いやすく、また通常であればプログラミングコンテスト・競技プログラミングでは使用されないJavascriptやPHP、SwiftであったりGO、RUSTといった新しめの言語にも対応しています。


CodeChef


Leetcodeと同じく様々な学習プログラムがあり、また毎週のコンテストを開催しています。

インド発のサイトですが全世界で愛用されており、学校や大学での教育カリキュラムとしての活用にも力をいれています。

対応するプログラミング言語はLeetcodeよりもさらに多く、F#やRから、FORTRAN、COBOL、Prologなどでも参加できるようです( ゚Д゚)


HackerRank


LeetcodeやCodeChefと同じく楽しみながら問題を解く学習カリキュラムがあり、また定期的なコンテストも開催されています。

他の同様のサイトと違う点は、出題される問題中に事前にコードの一部が与えられており、それを活用して関数やメソッド等を記載するといったスタイルであることです。

プログラミングを学び始めたばかりといった方は、そういったスタイルの方がやりやすいかもしれません。


HackerEarth


インドの企業ですが、本社はサンフランシスコにあります。

LeetcodeやCode Chefと同じく、コンテストのほか学びのためのカリキュラムが多数用意されています。

CodeChef並みに対応するプログラミング言語が多いです。


CodinGame


ゲームを遊ぶような感覚でプログラミングを学び、スキルを身に着けるサイトです。

まるでスーパーファミコンさながらのレトロゲームチックな内容の教材が多数用意されており、楽しみながら学ぶことができます。

定期的なコンテストも開催されています。


Codewars


なぜか日本でも意外と知られているサイト。

同様にカリキュラム+コンテストが開催されています。


Coderbyte


こちらもカリキュラム+コンテストからなる競プロサイト。


Exercism


おそらく最も対応するプログラミング言語が多いサイト。

正直聞いたこともないプログラミング言語が多数登録されています(^_^;)

(その代わりマイナーな言語は問題数が少ないです)


このサイトのユニークなところは、メンターとなる人がついてくれるところです。

問題を解いた後、メンターからアドバイスやレビューをもらうことができます。

【勝ち上がれ!】競技にフォーカスしたサイト

Topcoder


「競技」に特化したものですと、アメリカのTopcoderかロシアのCodeforcesが2強なのではないでしょうか。

コアな競プロerたちが集まっており、SRMというもっとも人気のアルゴリズムコンテストでは、自分の回答が終わった後は他の参加者のコードからバグを暴くとポイントがもらえるシステムがあります。

成績によりレートが上がり、頂点のレッドコーダーになると競プロ界隈では大変尊敬される存在になれます(笑)

レートを上げるためには処理速度が重要なため、大半の参加者がC++で解いています。

UIがとても使いにくいのが難。


Codeforces


ロシア発のサイトで、日本ではそれほど馴染みがありませんが世界的にはTopcoderと並ぶほど有名な競技プログラミングサイトです。

Topcoderと同じようにバグを見つけるテストケースを送り、他の参加者を脱落させるシステムがあります。

出題される問題が練られており質がいいとの評判で、問題の難易度は競技プログラミングのサイトでもトップレベル。

しかしロシア人出題者の英語力がいまいちなことがあり、そもそも問題文を読み解くことが困難な場合があるのが難。

そんなときには「Codeforces」ならぬ「Readforces」だと揶揄されるのがお決まりだそう。

競プロ参加者はなんとか推測しながら回答したり、ただただブチギレたりしているそうです(笑)


Atcoder


日本で最も有名な競技プログラミングですが、世界ではどちらかというとマイナーなほうになるのではないでしょうか。

とはいえ英語での出題もされているため諸外国からの参加者がどんどん増えており、現在は日本人競プロerと並ぶくらいの外国人競プロerがいます。

Topcoder、Codeforcesと同じく競技に特化した内容で、やはりC++での参加者が大半です。

【立て!世界の頂点!】年に一度の国際大会


Topcoder Open


Topcoderが主催する年一回のコンテスト。

一年間かけて各部門の予選を通過した10名程度ずつの最強の競プロerが集い、世界王者を決めるラストバトルを行います。

Marathonという部門は10時間かけてコーディングを競うという耐久レース。

「2010 TopCoder Open」では東京大学(当時)の岩田陽一氏と副島真氏がそれぞれの参加部門で優勝、慶應義塾大学(当時)の高橋直大氏も僅差で世界2位となりました。

高橋氏はAtcoderの創立者で現代表です。


Google Code Jam


Googleが開催する世界的なコンテストで、年に一回の国際的な競技プログラミング大会です。

元はTopcoderのプラットフォームを使用していたのですが、2008年以降は独自のプラットフォームを使うようになりました。

Google Code Jamの問題のいくつかは学術的な研究にもつながったとのことで、競プロ界でも難易度は最強クラスだと思われます。


Meta Hacker Cup


年一回開催のプログラミングコンテスト。

同じく年一回開催のGoogle Code JamやTopcoder Openと並んで大きな大会です。

元はFacebook Haker Cupという名称でしたが、Facebook社の社名がMetaに変わってからはコンテストの名称も変更になりました。


【若き才能!】学生向けコンテスト

ICPC(International Collegiate Programming Contest)


毎年開催される世界の大学対抗のプログラミングコンテストで、各国で開かれる地区大会を勝ち抜いたチームが大学を代表して腕を競います。

世界大会には一つの大学から一つのチームしか参加できません。

ICPC 2021 世界大会では、東京大学のチームが3位を受賞したそうです。


IOI(International Olympiad in Informatics)


日本語では国際情報オリンピックという名称です。

年一回開催の、高校生を対象としたプログラミング能力を競う国際大会です。

1989年に第一回が開催されたとても歴史のある大会で、参加国数では国際数学オリンピックに次ぐ規模です。

IOI2022年では88カ国もの国からの参加がありました。


ACSL(American Computer Science League)


学生が対象の、コンピューターサイエンスの国際大会。

1978年に設立された40年以上もの歴史がある、コンピューターに関係する世界大会では最も古いもののひとつではないでしょうか。

4つのコンテストがあり、各コンテストは筆記部門とプログラミング部門で構成されています。

プログラミングの他に、筆記があるというのがおもしろいですね。


USACO(United States of America Computing Olympiad)


うさこ(・×・)

こちらはIOI、国際情報オリンピックの予選として開催されているもので、もちろん学生向けのコンテストです。

ファイナリストの中から4名が代表として選出され、IOIに参加できます。


IEEEXtreme


IEEE(米国電気電子学会)に所属する大学生向けのコンテストです。

大学生3名がチームとなって、24時間の間に問題を解くチャレンジを行います。

【一風変わった?】その他のユニークなコンテストサイト

Kaggle


データサイエンティスト向けの機械学習の大会。

こちらは出題された問題に対しどれだけ精度の高いモデルを構築できるかを競うもの。

日本においても人気で、企業案件の大きなコンテストになると賞金が設定されています。

メルカリやリクルートなど日本企業も協賛しています。


Project Euler


読み方は「プロジェクト・オイラー」。

数学者・天文学者であったレオンハルト・オイラーの名を冠しています。

その名前から分かるように数学的な指向の問題が多く掲載されており、数学的なプログラミング問題を解くことができます。

問題文は毎週追加されています。

こちらは正確にはコンテスト形式ではないので個人のペースで問題を解いていけばよいのですが、コードを提出すると正否を判定してくれたうえで他の解答者と議論できる掲示板へアクセスすることができるようです。

おわりに

いかがでしょうか?

気になったサイトはありますでしょうか?

個人的にはLeetcode、Hackerrank、Project Eulerが気になります。


私も実のところこういったコンテストには参加したことがないのですが、調べているうちに興味が湧いてきましたので一度参加してみたいなーと思うようになりました!


参加された方は、ぜひ感想を教えてくださいね♪


追記:

Leetcodeにて、初めて競技プログラミングにチャレンジしてみました!!

下記の記事に体験記がまとめてありますのでぜひご覧ください✨

人物

マーケティング部 クリエイティブプロダクト隊 クオリティコントロール班 班長

松村 晶(まつむら あき)


HTMLとCSSから始まり、Web関連の記事を広く更新していきます。

毎週2回(月・金予定)に欠かさず更新(できたらいいなと思っている)


今回使用した技術:なし