GN⁺ 5달전 | parent | ★ favorite | on: Advent of Code 2025(adventofcode.com)
Hacker News 의견
  • 컴퓨터공학 배경이 없어도 참여할 수 있다는 말을 들을 때마다, 사실상 취미 프로그래머들에게는 실망을 안겨줄 수 있다고 느낌
    “꽤 멀리 간다”는 말이 1~2개의 쉬운 문제를 푸는 수준이라면 맞겠지만, 그 이상은 쉽지 않음

    • 어떤 사람은 문제들이 “너무 쉽다”고 했는데, 나는 도대체 어떤 세상에 사는 건지 의아했음
    • 나도 동의함. 개발자로 일하는 친구들이 생각보다 진전이 적은 것을 보고 놀랐음
  • Advent of Code는 매년 12월의 하이라이트
    글로벌 리더보드가 사라진 건 아쉽지만 이해할 만함. 올해 12일만 진행되는 것도 부담을 줄여줘서 좋음
    “이기려고” 하지 말고, 단순히 문제 해결의 재미를 즐기길 추천함

    • 12일이지만 실제로는 24개의 챌린지라서, 나는 24일 동안 천천히 즐길 예정임
    • 12일로 줄어든 건 아쉽지만, 글로벌 리더보드는 원래 시간대 편차 때문에 실질적인 경쟁이 어려웠음. 개인 리더보드가 훨씬 나음
    • 올해는 친구들과 로컬 리더보드를 만들어볼 생각임. 글로벌은 어차피 못 올라갔을 테니까
    • 이런 이벤트에 전혀 흥미가 없다는 걸 보면, 나는 개발자가 아닌 게 확실함
  • 나는 Advent of Code를 정말 사랑함
    올해 12일만 진행되는 게 오히려 반가움. 연말엔 현실 일정이 많아서 작년엔 절반쯤밖에 못 했음
    참여자들에게 큰 감사를 전함

    • 작년엔 7일차까지만 했는데, 올해는 덜 부담스러워서 좋음
    • 이번엔 드디어 완주할 수 있을지도 모름
    • 올해가 너무 기대됨
  • 올해 처음 Advent of Code를 해봤는데, 정말 재미있었음
    Project Euler와 비슷하지만 수학보다는 프로그래밍 중심임
    1단계는 간단하지만 2단계는 최적화된 접근법을 요구해서 흥미로움

  • 퍼블릭 리더보드를 없앤 건 합리적임
    LLM 문제를 떠나서도, 특정 미국 시간대 외에는 경쟁이 불가능했음
    대신 전 세계적으로 시간대별 풀이율 같은 통계를 보면 재밌을 것 같음

    • LLM이 망쳤지만, 예전엔 진짜 상위권 풀이를 보는 게 흥미로웠음
      유튜브에서 실시간 코딩 영상을 보는 재미도 있었음
  • Advent of Code를 매년 기다림
    리더보드에 스트레스 받지 않고, 새로운 언어를 배우거나 기술을 다듬는 기회로 삼음
    평소엔 직접 프로젝트를 부트스트랩하거나 DFS를 구현할 일이 없기 때문에, 이런 이벤트가 좋은 연습임

    • 나도 이런 문제만 푸는 일을 해보고 싶지만, 아마 번아웃이 올 것 같음
      그래서 평소엔 테스트 작성이나 문서화 같은 일로 균형을 맞춤
      매년 이전 문제를 조금씩 개선하면서 효율성과 가독성을 높이는 연습을 함
  • 올해도 Advent of Code가 열려서 기쁨
    FAQ를 읽다가 입력 데이터를 공개하지 말라는 규칙이 이해가 잘 안 됐음
    퍼즐 텍스트는 이해하지만 입력까지 비공개여야 하는 건 아쉬움. 그래도 무료로 즐기는 만큼 존중함

    • 입력이 공개되면 누군가 퍼즐 생성 로직을 복제할 수 있어서 그렇다고 함
    • 예제 입력만 커밋하고, 테스트는 그걸로 돌리면 충분함. Python이나 Rust의 doctest처럼 구조화하면 깔끔함
    • 나는 코드는 공개하지만 입력은 private submodule로 관리함
    • git-crypt로 입력 파일을 암호화해서 공개 저장소에 올림
  • 언어 설문: Python과 C++이 주로 쓰이지만, 비주류 언어 중에서도 AoC에 잘 맞는 게 있음
    어떤 언어가 좋은지 공유해보자는 제안임

    • 나는 K나 Uiua 같은 배열 언어를 좋아함. 보기엔 괴랄하지만 초반 문제엔 딱임
      농담이지만, 가끔은 Game Boy용 ASM으로도 풀어봄. 실제로는 Clojure나 Python을 씀
    • 나는 Haskell+Bash 스타일로 만든 자작 언어를 씀. 유튜브 데모도 있음
      올해는 바이트코드 컴파일러를 만들고 있음. 리더보드에선 Go를 쓰는데, 컴파일 속도 덕분에 2022년 Day19에서 1등 했음
    • Haskell을 쓰면 파서 콤비네이터로 입력 처리가 쉬움. 게다가 게으른 평가와 재귀로 간결한 코드 작성이 가능함
      예를 들어, 무한 리스트를 생성해 조건을 만족할 때까지 순회하는 식으로 풀이함
    • Ruby가 이상적임. 표현력 있는 문법과 풍부한 표준 라이브러리, 문자열 처리 도구가 많음
      each_cons, permutation, prime 같은 메서드들이 AoC에 유용함
    • Go는 빠르고 단순해서 좋고, OCaml은 타입 시스템과 실행 속도가 훌륭함
      미리 2D 그리드나 파서 유틸을 준비해두면 훨씬 효율적임
  • 올해는 어셈블리(fasm) 로 도전해볼 생각임
    재미있을 수도, 고통스러울 수도 있지만, 어쨌든 배우기 위한 과정임

  • 작년 AI 자동화 붐 이후 리더보드가 사라진 듯함
    아쉽지만 불가피한 결정으로 보임

    • 퍼즐 공개 시간이 미국 기준이라, 나는 항상 자는 중이었음
      어차피 경쟁은 어려웠으니 글로벌 리더보드는 별 의미가 없었음