Advent of Code라는 사이트를 알게 되었다.
Advent of Code 2024
adventofcode.com
아주 개발자스러운 디자인이다.
Eric Wastl라는 사람이 2015년부터 매년 대림절(Advent)기간에 이벤트를 연다.
대림절에 대해서는 나도 잘 모르니 직접 찾아보길 바란다.
일단 대림절을 모르더라도 이 이벤트가 크리스마스를 기념하기 위한 이벤트라는 점만 기억하자.
12월 1월 ~ 25일에 하루에 하나씩 프로그래밍 문제가 오픈되며, 한국시간으로는 오후 2시에 열린다.
문제
문제에 대해 먼저 얘기해보면, 입력 데이터가 텍스트 파일로 주어진다.
결과 출력값만 구해서 제출하면 되기 때문에 코드를 제출할 필요도 없고, 따라서 언어의 제약도 없다.
굳이 따지자면,,, 손으로 풀어도 된다는 소리다.
소문에 의하면 문제를 푸는 로직(과정)은 동일하지만 입력 데이터는 사람마다 다른다고 한다.
입력 데이터가 사람마다 다르다는 것은 정답도 다르다는 것이다.
즉 친구가 풀었다고 해서 답을 컨닝할 수 없다.
내용
두 번째로 내용을 살펴보면 스토리가 존재한다.
하루마다 공개되는 문제는 두 개의 파트가 존재한다.
첫 번째 파트를 해결하면 두 번째 파트가 공개된다.
같은 입력 파일을 사용하지만 답을 구하는 방식이 달라진다.
보상
그렇다면 문제를 풀면 뭐가 좋은가??
무엇을 바라는가?
크리스마스까지 하루에 하나씩 문제를 풀고, 이야기를 읽고 그저 즐기면 된다.
사실 파트 단위로 정답을 맞추면 Star를 받는다.
따라서 하루에 2개의 Star를 받을 수 있다.

별을 모으다보면 크리스마스 트리를 완성시킬 수 있지 않을까?
또한 선착순 100명에게 점수가 부여되어 점수를 공개한다.

이름을 올리고 싶다면 열심히 참여해보자.
이 사이트가 더더욱 변태스럽다고 느낀 점은 개발자 모드로 들어가서 이 페이지의 소스를 확인하면

편지가 있다?
Oh, hello! Funny seeing you here.
안녕하세요! 여기서 보다니 반갑네요.
I appreciate your enthusiasm, but you aren't going to find much down here.
여러분의 열정에 감사하지만, 이곳에서는 많은 것을 찾을 수 없을 것입니다.
There certainly aren't clues to any of the puzzles.
퍼즐에 대한 단서는 확실히 없습니다.
The best surprises don't even appear in the source until you unlock them for real.
최고의 서프라이즈는 실제로 잠금을 해제하기 전까지는 소스에 나타나지도 않습니다.
Please be careful with automated requests;
자동화 요청에 주의하시기 바랍니다.
I'm not a massive company, and I can only take so much traffic.
저는 큰 회사가 아니고, 오직 심한 트래픽을 감당할 뿐입니다.
Please be considerate so that everyone gets to play.
모두가 플레이할 수 있도록 배려해 주십시오.
If you're curious about how Advent of Code works,
it's running on some custom Perl code.
만약 Advent of Code이 어떻게 작동하는지 궁금하다면, 이것은 일부 Custom Perl 코드에서 실행됩니다.
Other than a few integrations (auth, analytics, social media),
I built the whole thing myself, including the design, animations, prose, and all of the puzzles.
몇 가지 통합(인증, 분석, 소셜 미디어) 외에는
디자인, 애니메이션, 산문, 모든 퍼즐을 포함한 모든 것을 제가 직접 만들었습니다.
The puzzles are most of the work;
preparing a new calendar and a new set of puzzles each year takes all of my free time for 4-5 months.
퍼즐은 매년 새로운 캘린더와 새로운 퍼즐 세트를 준비하며 4~5개월의 개인 시간이 소요되는 많은 작업입니다.
A lot of effort went into building this thing
- I hope you're enjoying playing it as much as I enjoyed making it for you!
이 것을 만들기 위해 많은 노력을 기울였는데,
제가 만든 만큼 재미있게 플레이하셨으면 좋겠습니다!
If you'd like to hang out,
I'm @was.tl on Bluesky,
@ericwastl@hachyderm.io on Mastodon,
and @ericwastl on Twitter.
- Eric Wastl
마치 정답을 쉽게 맞추기 위해 누군가가 접근할 것이라는 것을 예상이라도 한듯한 내용이다.
여러분들도 관심이 있다면 한 번 도전해봅시다.