web-dev-qa-db-ja.com

プログラミングのパズルと課題はどこにありますか?

学校や仕事以外で自分の工芸品を磨くことができる場所を探しています。プログラミングのパズルや課題のリストにアクセスできるオンラインの場所や本はありますか?

167
cmcculloh

モデレーターのメモ:これは正規のリストであることを意図しています。提案が回答にすでに追加されているかどうかを確認してください。表示されていない場合は、回答を編集して、可能であれば説明または理由を追加してください。

スタック交換時

タグを選択し、投稿された新しい質問に従って、それらを解決してみてください。良いものを見つけたら、後で使用するためにブックマークしておきます。

コミュニティとブログ

ゲームサイトと進行中のコンテスト

  • Codingame -コーディングスキルを練習する楽しいゲーム(ソロとマルチプレイヤー)。 25以上のプログラミング言語をサポートします。
  • CodeChef
  • Code Combat -JavaScriptとPython戦略ゲームのスタイルのソロおよびマルチプレイヤーゲーム。
  • Hacker.orgチャレンジ —「hacker.orgチャレンジは、ハッキングスキルの深さを調査するように設計された一連のパズル、トリック、テスト、ブレインティーザーです。このシリーズをマスターするには、次のものが必要です。暗号を解読し、巧妙なコードを書き、不可解なものを分析し、その過程でハッキングの世界に対する理解を深めることができます。」
  • Pex for fun —他のプログラマーと対決するMicrosoftの研究によるゲーム
  • Rankk — —「簡単なレベルから始めて、各レベルで必要な課題の最小数を解決することにより、中間レベルと難しいレベルに進みます。トップへの旅は困難でありながらやりがいがあります1つ。十分に決定し、遠くまで忍耐する必要があります。頂点に到達してGebに到達することが期待されるのはごくわずかです。」
  • TopCoder
  • Google Code Jam —アルゴリズムパズル

言語固有

  • 4Clojure (Clojure)—「4Clojureは、駆け出しのクロジュリアンがインタラクティブな問題を通じて言語を学習するのに役立つリソースです。最初のいくつかの問題は簡単で、経験のない人でも学習を見つけることができます。曲線を許容します。詳細は「ヘルプ」を参照してください。」

  • Prolog Problems (Prolog)—「この問題集の目的は、ロジックプログラミングのスキルを練習する機会を提供することです。あなたの目標は、最もエレガントなソリューションを見つけることです。与えられた問題。効率は重要ですが、論理的明快さはさらに重要です。(簡単な)問題の一部は、組み込み述語を使用して簡単に解決できます。ただし、これらの場合、独自の解決策を見つけようとすると、より多くのことがわかります。 」

  • Pythonチャレンジ (Python)—「Pythonチャレンジは、各レベルを少しの(Python)プログラミングで解決できるゲームです。」

  • Ruby Quiz (Ruby)-"Ruby Quizは、Perl Quiz of the Weekの精神でRubyプログラマーにとって毎週のプログラミングの課題です。新しいRubyクイズはRubyトークメーリングリストに毎週金曜日に送信されます。 "

  • [〜#〜] ioccc [〜#〜] (C)-"最も不明瞭/難読化されたCプログラムを作成するためのコンテスト。(前年のエントリを理解しようとすると、または、新しいものを提出してください。)」

  • Underhanded C Contest (C)-"悪意のあるが厳格な検査に合格し、正直な間違いのように見えるコードを明らかにするためのコンテストです。(前年のエントリを理解してみてください。他の人のコードで同様の間違いを見つけることを学ぶ)」

  • CheckiO -Pythonプログラミングの課題。カスタムの「ミッション」はメンバーが作成できます。

  • 109 Python CCPS 109の問題109 Python問題のさまざまなレベルの問題、自動擬似ランダムファズテスターを使用して関数が正しいことを確認してください。

オンライン裁判官/自動評価

  • Codingbat には、ウォームアップからより難しい再帰問題まで、コーディングの課題がたくさんあります。 JavaおよびPythonで利用可能です。
  • Cyber​​-dojo にはkatasのニースのバリエーションがあり、適切な言語の選択をサポートしています。 [////] [〜#〜] tdd [〜#〜]意図的な練習 の実行をサポートすることを目的としていますが、個人的な開発に使用できますあまりにも。
  • LeetCode
  • 北京大学JudgeOnline for ACIP/ICPC
  • Sphere Online Judge
  • バリャドリッド大学オンラインジャッジ
  • Codewars —コードの課題を伴うトレーニング。
  • Rosalind アルゴリズムとバイオインフォマティクス
  • Quizful -「Duolingoスタイル」のインタラクティブプログラミングクイズ。このサイトは面白そうで、少なくともJavaに関しては一連の良い質問があります。さらに、彼らが言うように、学習をより効果的にする適応学習アルゴリズムがあります。
  • exercism -30以上の言語の課題で、自動的に評価されます。

問題リストとコンテストのアーカイブ

セキュリティ指向

294
grokus