1 ポイント 投稿者 GN⁺ 2024-12-02 | 1件のコメント | WhatsAppで共有
  • Eric Wastl が作成した Advent of Code は、さまざまなプログラミングパズルを提供するオンラインイベントであり、複数のプログラミング言語で解くことができます。

  • 面接準備、社内研修、大学の課題、練習問題、スピード競争など、さまざまな目的で利用されています。

  • コンピューターサイエンスの背景がなくても、多少のプログラミング知識と問題解決能力があれば参加できます。

  • 一般的なヒント

    • 問題の解決に行き詰まったら、パズルに用意されている例を使って解法を検証できます。
    • 例がうまく動かない場合は、説明をもう一度読み、プログラムが想定どおりに動作しているか確認する必要があります。
    • それでも解決しない場合は、友人に助けを求めるか、後でもう一度試すことができます。
  • よくある質問

    • コードブロックを選択するには、JavaScript を有効にした状態でコードブロックを 3 回クリックすればよいです。
    • Advent of Code は OAuth を使用して認証を処理しており、ユーザーの個人情報は公開されている情報以外は公開されません。
    • グローバルリーダーボードに参加するかどうかは、個人の目標に応じて決めることができます。
    • パズルの難易度はイベント期間中を通じてさまざまに変化し、個人のスキルレベルによって感じ方が異なる場合があります。
    • パズルは深夜 0 時(EST/UTC-5)に公開され、これは運営者が安定して管理できる時間です。
    • サイトのテキストが読みにくい場合は、高コントラストモードを使用できます。
    • パズルのアイデアは、法的な問題のため受け付けていません。
    • パズルにバグがあると思われる場合は、まず subreddit で質問できます。
    • 解答をストリーミングする際は、ほかの人が競争中の間は避けたほうがよいです。
    • AI を使ってグローバルリーダーボードに載ることは推奨されていません。
  • クレジット

    • パズル、コード、デザイン: Eric Wastl
    • ベータテスト: Tim Giannetti, Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
    • コミュニティマネージャー: Danielle Lucek, Aneurysm9
  • 法的通知

    • Advent of Code は米国で登録された商標であり、デザイン要素、文言、スタイル、コンセプトは Advent of Code に帰属します。
    • パズルへのリンクや参照は可能ですが、Advent of Code の一部をコピーまたは再配布することは禁止されています。

1件のコメント

 
GN⁺ 2024-12-02
Hacker Newsの意見
  • Go言語を使い始めて4年目だが、この言語は問題解決にあまり向いていないと感じている。標準ライブラリに基本的なデータ構造が不足しており、コンパイル言語の割には速度も遅い
  • AoCが大好きで、この2〜3年はRustで挑戦していた。Discordで最速のソリューションを目指す中で、さまざまな性能最適化や高度なアルゴリズム、SIMDを学んだ
    • 今回はRustとGolangで挑戦し、Golangを好きになれるか、少なくとも我慢できるようになるか、あるいはGolangはいまひとつだという仮説を証明しようとしている
  • 25日間にわたって徐々に複雑になっていく入力パーサーを書く挑戦がまた始まった
  • 今年はNES(Nintendo Entertainment System)で挑戦する予定だ
    • 制限されたRAM(2KiB、カートリッジに追加で8KiBまで可能)のため、一部の問題は不可能かもしれないが、できるだけ多く解くつもりだ
    • 今日の問題は、カートリッジに4KiBの追加RAMを使って4秒以内に解けた
  • 今年の挑戦は、標準ライブラリやアロケータなしでCで書き、STM32で実行できるようにすることだ
    • 2年前にはアセンブリで試したが、アセンブリ用の標準ライブラリを書くのに多くの時間を費やした末に断念し、Rustに切り替えた
  • 普段はCommon LispでAoCをやっているが、今年はSwiftを試している
    • 静的型付けのメジャー言語としては、こうした作業にそれほど悪くない
    • Swift AoCコード
  • 今年は新しい職場でイベントを企画していたが、新しい上司とは一緒に働けないと気づいて辞めることになった
    • 開発者がフレームワークを組み合わせるだけでなく、実際の問題解決を学ぶのは非常に有用だと思う
    • 結局、いつものようにEmacsと一緒にやることになりそうだ
  • 全問題を解いたが、これはビジネス上の問題だ。主任歴史家を入れ替えればいいだけだ
  • Common LispやC標準ライブラリで挑戦している人がいる一方で、データファイルをダウンロードするためにcurlの呼び出しを試している
  • 去年は12日目で1週間行き詰まり、解き方を考えるのに時間をすべて使ってしまった。今年は自分に優しくして、参加せずに冬休みを楽しむつもりだ
  • 今年はF#とGleamで挑戦する予定だが、毎年そうであるように、10〜12日以上続ける時間も気力もなさそうだ
    • PythonユーザーにはF#を試してみることを勧めたい。スクリプト言語にかなり近い感覚で使え、優れたREPLもある