最も人気のある10のコーディングチャレンジWebサイト[2020年に更新]

コーディングを学ぶときにスキルを向上させるための優れた方法は、コーディングの課題を解決することです。さまざまな種類の課題やパズルを解くことで、より優れた問題解決者になり、プログラミング言語の複雑さを学び、就職の面接の準備をし、新しいアルゴリズムを学ぶことができます。

以下は、人気のあるコーディングチャレンジWebサイトのリストと、それぞれが提供するものの簡単な説明です。

1. TopCoder

TopCoderは、オンラインでの競技プログラミングのためのオリジナルのプラットフォームの1つです。コードエディタを使用してオンラインで直接完了することができる、過去のアルゴリズムの課題のリストを提供します。彼らの人気のあるシングルラウンドマッチは、月に数回、特定の時間に提供され、他の人と競争して、最高のスコアで最速の課題を解決します。

TopCoderのトップランクのユーザーは、非常に優れた競技プログラマーであり、プログラミング競技会で定期的に競争しています。トップランクのユーザーは、Petr MitrichevよるAlgorithmsweeklyというタイトルの自分のブログを管理しており、コーディングコンテスト、アルゴリズム、数学などについて書いています。

2.Coderbyte

Coderbyteは、10のプログラミング言語の1つでオンラインで直接解決できる200以上のコーディングの課題を提供します(この例を確認してください)。課題は、簡単なもの(文字列内の最大の単語を見つける)から難しいもの(グラフの最大カーディナリティマッチングを印刷する)までさまざまです。

また、アルゴリズムチュートリアル、紹介ビデオ、面接準備コースのコレクションも提供しています。HackerRankや他の同様のWebサイトとは異なり、Coderbyteによって投稿された公式ソリューション以外に、他のユーザーがチャレンジに対して提供するソリューションを表示できます。

3.プロジェクトオイラー

プロジェクトオイラーは、コンピュータサイエンスと数学の分野での課題の大規模なコレクションを提供します。課題は通常、一連の各数値の前にあるすべての数値の桁の合計を見つけるなど、巧妙な数式または方程式の解を理解するための小さなプログラムを作成することを含みます。

エディターでWebサイトに直接コーディングすることはできないため、自分のコンピューターでソリューションを作成してから、そのWebサイトでソリューションを提供する必要があります。

4. HackerRank

HackerRankは、アルゴリズム、数学、SQL、関数型プログラミング、AIなどのいくつかの異なるドメインに課題を提供します。すべての課題をオンラインで直接解決できます(この例を確認してください)。彼らはすべての課題についての議論とリーダーボードを提供し、ほとんどの課題には、課題についての詳細と、解決策を考え出すためのアプローチ方法を説明する社説が付属しています。社説を除いて、現在、HackerRankで他のユーザーのソリューションを表示することはできません。

HackerRankは、企業が後援するコーディングの課題を解決することにより、ユーザーがアプリケーションを送信して仕事に応募する機能も提供します。

5. CodeChef

CodeChefは、何百もの課題を提供するインドを拠点とする競技プログラミングWebサイトです。オンラインエディターでコードを記述し、スキルレベルに応じてさまざまなカテゴリに分類された課題のコレクションを表示できます(この例を確認してください)。彼らには、フォーラムに貢献したり、チュートリアルを書いたり、CodeChefのコーディングコンテストに参加したりするコーダーの大規模なコミュニティがあります。

6. Exercism.io

Exercismは、52の異なるプログラミング言語にまたがる3100以上のチャレンジを提供するコーディングチャレンジWebサイトです。習得したい言語を選択したら、マシン上でコーディングの課題に取り組みます(Exercismには、GitHubからダウンロードできる独自のコマンドラインインターフェイスがあります)。

ただし、各チャレンジを完了した後にメンターと協力するため、他のチャレンジWebサイトとは少し異なります。メンターはオンラインで回答を確認し、必要に応じて回答を改善するのに役立ちます。回答が承認されて送信されると、さらに多くの課題のロックが解除されます。

7.コードウォーズ

Codewarsは、独自のコミュニティによって提出および編集されたコーディングの課題の大規模なコレクションを提供します。いくつかの言語のいずれかを使用して、エディターでオンラインで直接課題を解決できます。各課題のディスカッションとユーザーソリューションを表示できます。

8. LeetCode

LeetCodeは人気のあるオンラインジャッジで、技術的な就職の面接の準備に役立つ190以上の課題のリストを提供します。9つのプログラミング言語のいずれかを使用して、オンラインで直接課題を解決できます。他のユーザーのソリューションを表示することはできませんが、他のユーザーのコードと比較した場合のコードの実行速度など、独自のソリューションの統計が提供されます。

また、就職の面接の準備に特化した模擬面接セクションがあり、独自のコーディングコンテストを主催しています。また、特定の問題をよりよく理解するのに役立つ記事のセクションもあります。

9. SPOJ

Sphere Online Judge(SPOJ)は、2万を超えるコーディングの課題を提供するオンラインジャッジです。オンラインエディタでコードを送信できます。SPOJは独自のコンテストも主催しており、ユーザーがコーディングの課題について話し合うための領域があります。ただし、現在、他のWebサイトのように公式のソリューションや社説を提供していません。

10. CodinGame

CodinGameは、他のWebサイトとは少し異なります。エディターでコーディングの課題を解決するだけでなく、実際にオンラインで直接プレイするゲームのコードの記述に参加するからです。現在提供されているゲームのリストとその例をここで見ることができます。このゲームには、問題の説明、テストケース、および20以上のプログラミング言語のいずれかでコードを記述できるエディターが付属しています。

このWebサイトは、上記のような一般的な競技プログラミングWebサイトとは異なりますが、課題の解決やコンテストへの参加を楽しむプログラマーの間では依然として人気があります。

このリストは、いくつかのことに基づいています。ウェブサイトを使用した私自身の経験、いくつかのGoogle検索、Quoraの投稿、およびこれとこれなどの記事です。また、r / learnprogrammingなどのいくつかのフォーラムやサブレディットに頻繁にアクセスして、そこでのユーザーが通常どのWebサイトを推奨しているかを確認しました。免責事項:私は上記のウェブサイトの1つであるCoderbyteで働いています。