arrival of code There is an advent calendar of short programming puzzles for different skill levels that can be solved in any programming language of your choice. People use them for interview preparation, company training, university courses. Practice problems, speed competitions, or challenge each other.
You don’t need a computer science background to participate – just a little programming knowledge and some troubleshooting skills will take you a long way. Nor do you need a fancy computer; Every problem has a solution that takes a maximum of 15 seconds on ten year old hardware.
If you want to support Code Arrival, you can do so indirectly by helping Do this with others or directly through AoC++.
—General Tips—
If you get stuck, try your solution against Example Given in the puzzle; You should get the same answer. If not, read the description again. Did you misunderstand something? Is your program doing something you don’t expect? After working through the examples, if your answer is still not correct, create some test cases For which you can verify the answers by hand and see if they work with your program. Make sure you have complete puzzle input. If you’re still stuck, maybe ask a friend For help, or come back to the puzzle later. You can also ask for hints in the subreddit.
— Frequently Asked Questions —
Is there an easy way to select an entire code block? You should be able to triple-click on code blocks to select them. You must enable JavaScript.
#!/usr/bin/env perl
use warnings;
use strict;
print "You can test it out by ";
print "triple-clicking this code.\n";
How does authentication work? Advent of Code uses OAuth to verify your identity through other services. When you log in, you only give your credentials to that service – never to Code of Advent. Then, the service you use tells the Advent of Code servers that you are really you. In general, this does not reveal any information about you beyond what is already public; Here are examples from Reddit and GitHub. The arrival of the code will remember your unique ID, name, URL, and image from the service you used to authenticate.
Why was this puzzle so easy/hard? The difficulty and content varies in each event. Generally, puzzles become more difficult over time, but your specific skills will make each puzzle significantly easier or harder for you than anyone else. Making puzzles is difficult.
Why do puzzles open at midnight EST/UTC-5? Because only then can I be constantly available to make sure everything is working. I also have a family, a day job, and sometimes I need sleep. If you can’t attend midnight, that’s not a problem; If you want to race, many people use private leaderboards to compete with people in their area.
I find the text on the site difficult to read. Is there a high contrast mode? There is a high contrast alternative stylesheet. Firefox supports these by default (View -> Page Style -> High Contrast).
I have a puzzle idea! Can I send it to you? Please don’t do this. Due to legal issues such as copyright and attribution, I do not accept puzzle ideas, and I will not even read your email if I accidentally use parts of your email.
Did I find a bug with the puzzle? Once a puzzle has been solved even for an hour, many people have already solved it; After that point, the chance of bugs is very low. Start by asking on the subreddit.
Should I try to get a faster resolution time? Perhaps. Solving the puzzles is difficult enough in itself, but attempting it faster also requires many additional skills and a lot of practice; The speed-solution often doesn’t look like code that would pass code review. If it sounds interesting, go for it! However, you should approach the code in a way that is useful to you, and so it is perfectly fine to choose an approach that meets your goals and ignore speed entirely.
Why did the number of days per event change? Running Code of Advent consumes a ton of my free time every year, and most of that time is spent creating puzzles. After ten years (!) of keeping a consistent schedule, I needed a change. The puzzles still start on December 1st so the day numbers make sense (Day 1 = 1st December)More puzzles are revealed every day (ending in mid-December).
What happened to the global leaderboard? The global leaderboard was one of the biggest sources of stress for me, for the infrastructure, and for many users. People took things very seriously, far beyond the spirit of competition; Some people even resorted to things like DDoS attacks. Many people incorrectly concluded that they were somehow worse programmers because their own times could not be compared. What started as a fun feature in 2015 became an ever-growing problem, and so, ten years after the code’s introduction, I removed the global leaderboard. (However, I made it so you can share a read-only view of your private leaderboard. Please do not use this feature or the data to create a “new” global leaderboard.)
When trying to get a faster time on a private leaderboard, can I use the AI/watch streamers/check solution threads/ask a friend for help/etc? If you’re a member of a private leaderboard, you should ask the people who run them what their expectations are for their members. If you don’t agree with those expectations, you should find a new private leaderboard or start your own! Private leaderboards may have rules like maximum runtime, allowed programming language, what time you can first open the puzzle, what tools you can use, or whether you have to wear a silly hat while working.
Should I use AI to solve Advent of Code puzzles? No. If you send a friend to the gym on your behalf, would you expect to get stronger? The advent of code puzzles is designed to be interesting for humans to solve – with no consideration given to whether AI can solve a puzzle or not. If you want to practice motivating AI, there are certainly better practices elsewhere designed with this in mind.
Can I copy/redistribute part of the Arrival Code? Please don’t do this. code arrival is free UseNot free to copy. If you are posting a code repository somewhere, please do not include parts of the code’s origin such as puzzle text or your input. If you’re creating a website, please don’t make it look like Arrival of Code or name it something similar.
— best regards —
Puzzles, Codes and Design: Eric Vastel
beta testing:
- ben lucek
- JP Burke
- aneurysm9
- Andrew Skalsky
Community Manager: Danielle Lucek and Aneurysm9
Playing: You!
— legal —
Advent of Code is a registered trademark in the United States. The design elements, language, style and concepts of Code Arrival are all the sole property of Code Arrival and may not be copied or used by any other person or entity without Code Arrival’s express written consent. Copyright 2015-2025 The Arrival of the Code. All rights reserved.
You can link or reference puzzles from Code of Advent in discussions, classes, source code, printed materials, etc., even in business contexts. Advent of Code does not claim ownership or copyright on your solution implementation.
<a href