# Advent of Code 2025

> Clean Markdown view of GeekNews topic #24733. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24733](https://news.hada.io/topic?id=24733)
- GeekNews Markdown: [https://news.hada.io/topic/24733.md](https://news.hada.io/topic/24733.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-12-01T09:41:34+09:00
- Updated: 2025-12-01T09:41:34+09:00
- Original source: [adventofcode.com](https://adventofcode.com/2025/about)
- Points: 20
- Comments: 2

## Summary

12월이 다가오면 개발자들의 달력이 조금 특별해집니다. **Advent of Code**는 매일 한 문제씩 공개되는 온라인 퍼즐 캘린더로, 언어 제약 없이 누구나 참여할 수 있는 연례 이벤트입니다. 단순한 코딩 챌린지를 넘어, 면접 대비나 알고리즘 연습, 혹은 친구들과의 작은 경쟁 무대로도 활용되죠. 올해는 글로벌 리더보드 대신 개인 중심의 즐거운 풀이 경험에 초점을 맞추며, ‘속도보다 사고력’이라는 본래의 취지를 다시금 되새기게 합니다.

## Topic Body

- **Advent of Code**는 다양한 수준의 프로그래머를 위한 **프로그래밍 퍼즐 어드벤트 캘린더**로, 어떤 언어로든 풀이 가능함  
- 참가자는 **면접 준비, 기업 교육, 대학 과제, 연습 문제, 속도 경쟁** 등 다양한 목적으로 활용 가능  
- 컴퓨터 과학 전공이 없어도 참여할 수 있으며, **10년 된 컴퓨터에서도 15초 이내 실행 가능한 문제**로 구성됨  
- 사이트는 **OAuth 인증**, **하이 콘트라스트 모드**, **개인 리더보드**, **코드 블록 선택 기능** 등을 지원함  
- 전 세계 리더보드는 **스트레스와 부정행위 문제**로 폐지되었으며, **참가자 중심의 즐거운 문제 풀이 경험**이 강조됨  

---
### Advent of Code 개요
- Advent of Code는 **Eric Wastl**이 만든 연례 프로그래밍 퍼즐 이벤트로, 매년 12월 1일부터 시작되는 **온라인 어드벤트 캘린더 형식**의 퍼즐 제공  
  - 참가자는 매일 새로운 문제를 풀며, 언어 제약 없이 자유롭게 풀이 가능  
  - 문제는 **면접 대비, 교육, 연습, 경쟁, 상호 도전** 등 다양한 용도로 활용됨  
- 참여에 **컴퓨터 과학 전공 지식은 필요하지 않으며**, 기본적인 프로그래밍과 문제 해결 능력만으로 충분함  
  - 모든 문제는 **10년 된 하드웨어에서도 15초 이내 실행 완료** 가능  

### 참여 및 지원 방법
- Advent of Code를 지원하려면 **Bluesky, Twitter, Mastodon** 등에서 공유하거나 **AoC++** 을 통해 직접 후원 가능  
- 문제 풀이 중 막히면 **예제 입력 확인, 테스트 케이스 작성, 친구에게 도움 요청, subreddit에서 힌트 요청** 등의 방법 권장  

### 일반 팁 (General Tips)
- 예제 입력과 출력이 일치하지 않으면 문제 설명을 다시 읽고 코드 동작을 점검해야 함  
- 예제 통과 후에도 정답이 틀리면 **수동 검증 가능한 테스트 케이스**를 만들어 확인  
- 여전히 해결이 어렵다면 **잠시 쉬었다가 다시 시도**하거나 **커뮤니티에 질문** 가능  

### 자주 묻는 질문 (FAQ)
- **코드 블록 선택**: JavaScript가 활성화된 상태에서 **트리플 클릭**으로 전체 선택 가능  
- **인증 방식**: OAuth를 사용해 Reddit, GitHub 등 외부 서비스로 로그인하며, 자격 증명은 해당 서비스에만 전달됨  
  - Advent of Code는 사용자 **ID, 이름, URL, 이미지**만 저장  
- **난이도 변화**: 이벤트 기간 동안 점진적으로 어려워지며, 개인의 **기술 수준에 따라 체감 난이도**가 달라짐  
- **퍼즐 공개 시각**: **미국 동부 표준시(UTC-5) 자정**에 공개되며, 이는 운영자가 관리 가능한 시간대이기 때문  
  - 경쟁을 원할 경우 **개인 리더보드**를 통해 지역별로 경쟁 가능  
- **가독성 문제**: **하이 콘트라스트 모드** 지원, Firefox에서 기본 활성화 가능  
- **퍼즐 제안 금지**: 저작권 문제로 인해 외부에서 퍼즐 아이디어를 받지 않음  
- **버그 신고**: 퍼즐 공개 후 1시간 이상 지나면 이미 많은 사용자가 해결했으므로, 버그 가능성은 낮음  
  - 문제 발생 시 subreddit에서 먼저 확인 권장  
- **속도 경쟁 여부**: 빠른 풀이를 원한다면 추가적인 **연습과 기술**이 필요하지만, **자신의 목표에 맞는 방식으로 참여**하는 것이 중요  
- **이벤트 일수 변경**: 10년간 일정 유지 후, **운영자의 시간 부담 완화**를 위해 중순 종료로 변경  
- **글로벌 리더보드 폐지**: 과도한 경쟁과 **DDoS 공격, 사용자 스트레스** 등의 문제로 10년 후 폐지  
  - 대신 **읽기 전용 개인 리더보드 공유 기능** 제공  
- **AI 사용**: 퍼즐은 **인간의 사고력 향상**을 목표로 하므로 AI 사용은 권장되지 않음  
  - “대신 운동을 시켜도 본인이 강해지지 않는다”는 비유로 설명  
- **콘텐츠 복제 금지**: Advent of Code는 무료로 사용할 수 있지만, **퍼즐 텍스트나 입력 데이터 복제 금지**  
  - 웹사이트 디자인이나 이름을 모방하는 행위도 금지  

### 크레딧 (Credits)
- **퍼즐, 코드, 디자인**: Eric Wastl  
- **베타 테스트**: Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski  
- **커뮤니티 매니저**: Danielle Lucek, Aneurysm9  
- **참여자**: 모든 사용자  

### 법적 고지 (Legal)
- Advent of Code는 **미국 등록 상표**이며, 디자인·언어·스타일·콘셉트는 모두 독점적 자산  
  - 명시적 서면 동의 없이 복제나 사용 불가  
- 퍼즐에 대한 **링크나 인용은 자유롭게 가능**하며, 상업적 맥락에서도 허용  
- Advent of Code는 참가자의 **풀이 코드에 대한 저작권을 주장하지 않음**

## Comments



### Comment 47034

- Author: roxie
- Created: 2025-12-01T13:33:28+09:00
- Points: 1

작년에도 조금 참여했었는데... 한 해가 정말 순식간이네요 ㅠ

### Comment 47012

- Author: neo
- Created: 2025-12-01T09:41:35+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=46096337)   
- 컴퓨터공학 배경이 없어도 참여할 수 있다는 말을 들을 때마다, 사실상 **취미 프로그래머**들에게는 실망을 안겨줄 수 있다고 느낌  
  “꽤 멀리 간다”는 말이 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](https://www.agwa.name/projects/git-crypt/)로 입력 파일을 암호화해서 공개 저장소에 올림  
  
- 언어 설문: Python과 C++이 주로 쓰이지만, **비주류 언어** 중에서도 AoC에 잘 맞는 게 있음  
  어떤 언어가 좋은지 공유해보자는 제안임  
  - 나는 **K나 Uiua** 같은 배열 언어를 좋아함. 보기엔 괴랄하지만 초반 문제엔 딱임  
    농담이지만, 가끔은 Game Boy용 ASM으로도 풀어봄. 실제로는 Clojure나 Python을 씀  
  - 나는 Haskell+Bash 스타일로 만든 **자작 언어**를 씀. [유튜브 데모](https://www.youtube.com/watch?v=r99-nzGDapg)도 있음  
    올해는 바이트코드 컴파일러를 만들고 있음. 리더보드에선 Go를 쓰는데, **컴파일 속도** 덕분에 2022년 Day19에서 1등 했음  
  - Haskell을 쓰면 **파서 콤비네이터**로 입력 처리가 쉬움. 게다가 게으른 평가와 재귀로 간결한 코드 작성이 가능함  
    예를 들어, 무한 리스트를 생성해 조건을 만족할 때까지 순회하는 식으로 풀이함  
  - Ruby가 이상적임. **표현력 있는 문법**과 풍부한 표준 라이브러리, 문자열 처리 도구가 많음  
    `each_cons`, `permutation`, `prime` 같은 메서드들이 AoC에 유용함  
  - Go는 빠르고 단순해서 좋고, OCaml은 **타입 시스템**과 실행 속도가 훌륭함  
    미리 2D 그리드나 파서 유틸을 준비해두면 훨씬 효율적임  
  
- 올해는 **어셈블리(fasm)** 로 도전해볼 생각임  
  재미있을 수도, 고통스러울 수도 있지만, 어쨌든 배우기 위한 과정임  
  
- 작년 **AI 자동화 붐** 이후 리더보드가 사라진 듯함  
  아쉽지만 불가피한 결정으로 보임  
  - 퍼즐 공개 시간이 미국 기준이라, 나는 항상 자는 중이었음  
    어차피 경쟁은 어려웠으니 글로벌 리더보드는 별 의미가 없었음
