My solutions to Advent of Code.
I'd urge you to try and solve a particular day before looking at on of my solutions. You can do it! I believe in you.
AoC is a yearly (nonreligous) Advent Calendar, but instead of tiny Lego sets or chocolates, you get programming puzzles. They always come in two parts, and you must solve the first puzzle of the day to unlock the second puzzle of the day. The first puzzle on Christmas is a freebie, so there are 49 puzzles to solve in all.
The main page is ASCII art, revealed line-by-line, day-by-day. Solve that day, and the line gets colored. Solve all 49, and it gets all... shiny.
It's a speed competition and keeps a leaderboard, so some of this code was written very quickly. (Sadly, I never got above 42nd place.) Also, because I was on a new laptop, I wrote the python in text editor rather than a proper IDE. Doubly frustrating, I had no prewritten libraries, so hopefully next year, I'll be able to solve code that much faster.
2017 Update: I ended up without easy access to this GitHub when AoC 2017 started, so I got no speed boost from the libraries. Also, I didn't really feel like staying up to try to solve puzzles as they come hot off the presses.
So, the code was written quickly, and without the aid of tooling, and the utilities were built on the fly as I needed them.
As a result, some of the code was far too embarrassing to share with the world, and thus the solution set is not exhaustive.
Unlike Project Euler, there's no way to link to one's profile, so you'll have to take my word for it that I beat it.
--------Part 1-------- --------Part 2--------
Day Time Rank Score Time Rank Score
19 00:24:04 256 0 00:24:58 210 0
18 00:13:51 119 0 19:10:00 3366 0
17 23:27:55 5202 0 >24h 5522 0
16 >24h 6111 0 >24h 5440 0
15 12:29:06 4717 0 12:46:38 4479 0
14 13:23:54 4339 0 13:30:21 3327 0
13 >24h 6923 0 >24h 6105 0
12 13:39:36 5616 0 13:44:33 5301 0
11 11:38:29 4662 0 11:39:48 4401 0
10 00:34:11 589 0 00:53:41 433 0
9 02:06:41 1556 0 02:10:40 1508 0
8 11:47:30 6586 0 11:48:46 6438 0
7 13:13:06 8054 0 13:21:22 4885 0
6 >24h 12297 0 >24h 11855 0
5 10:17:41 8541 0 10:18:51 8109 0
4 14:55:54 10592 0 14:59:09 9427 0
3 >24h 13840 0 >24h 9909 0
2 >24h 21923 0 >24h 18793 0
1 >24h 28295 0 >24h 23780 0
You have 303 points.
-------Part 1-------- -------Part 2--------
Day Time Rank Score Time Rank Score
25 >24h 1173 0 >24h 941 0
24 14:44:57 667 0 14:51:47 648 0
23 >24h 1283 0 >24h 1145 0
22 21:54:13 1554 0 >24h 1010 0
21 >24h 1946 0 >24h 1787 0
20 00:39:20 315 0 00:54:51 270 0
19 13:18:35 1595 0 14:07:14 964 0
18 12:57:51 1354 0 13:00:25 1335 0
17 16:18:32 1204 0 16:24:36 1153 0
16 18:07:23 1802 0 18:38:45 1710 0
15 00:06:43 25 76 00:09:00 42 59
14 21:59:24 1725 0 22:23:11 1576 0
13 >24h 1962 0 >24h 1838 0
12 19:43:00 1825 0 19:49:02 1801 0
11 >24h 1134 0 >24h 1069 0
10 >24h 2572 0 >24h 2518 0
9 13:11:52 2210 0 13:47:46 1529 0
8 00:16:20 63 38 00:17:42 52 49
7 00:23:06 222 0 00:28:08 115 0
6 00:27:56 594 0 00:29:09 574 0
5 00:14:37 244 0 00:20:42 138 0
4 22:20:25 3540 0 22:29:34 3325 0
3 00:04:09 64 37 00:09:02 57 44
2 15:12:57 3995 0 15:33:14 3470 0
1 >24h 7023 0 >24h 5181 0
--------Part 1-------- --------Part 2--------
Day Time Rank Score Time Rank Score
25 >24h 2532 0 >24h 1841 0
24 >24h 2179 0 >24h 2141 0
23 >24h 2736 0 >24h 2711 0
22 >24h 2193 0 >24h 2112 0
21 >24h 3052 0 >24h 2946 0
20 >24h 3436 0 >24h 3174 0
19 >24h 3752 0 >24h 2715 0
18 >24h 4045 0 >24h 3968 0
17 >24h 4331 0 >24h 4221 0
16 >24h 4870 0 >24h 4597 0
15 >24h 4548 0 >24h 4449 0
14 >24h 5833 0 >24h 5272 0
13 >24h 5234 0 >24h 5124 0
12 >24h 6579 0 >24h 5461 0
11 >24h 6451 0 >24h 6310 0
10 >24h 7699 0 >24h 7295 0
9 >24h 6907 0 >24h 6691 0
8 >24h 8231 0 >24h 7635 0
7 >24h 8606 0 >24h 8183 0
6 >24h 12820 0 >24h 11954 0
5 >24h 16497 0 >24h 13478 0
4 >24h 17096 0 >24h 15988 0
3 >24h 20500 0 >24h 18149 0
2 >24h 25527 0 >24h 21868 0
1 >24h 38789 0 >24h 29091 0