Advent of Code Golf 2021 is over!
Thanks to everyone who participated in and/or helped me run the Advent of Code Golf 2021 event. It wouldn't have been so successful without the help of the community.
Special thanks
- Everyone who solved one or more AoCG challenges: 49 users, giving 323 answers using 41 different languages!
- Everyone who left feedback in the dedicated sandbox; it would have been extra painful to QA the challenges without them, especially on my off-days.
- Everyone who posted the challenges at the right time on my off-days: lyxal (6 times!), followed by pxeger (twice) and alephalpha (once).
- Wheat Wizard who contributed three of the challenges (days 8, 15, 22).
Statistics
The answers were given in 41 different languages.
- Many of them used popular languages (like Python or JS),
- but some were in general-purpose languages but not so popular in code golf (like Rust, C, Clojure, or Factor),
- some were given in golfing languages (05AB1E, Jelly, Vyxal, Japt, MathGolf),
- some in array languages (APL, J, BQN),
- some in plain esolangs (Whitespace, SnakeEx, Thue, Turing Machine Code),
- and even some in the answerers' own creation (ayr by ZippyMagician, Whython by pxeger).
And 49 users participated in solving the challenge, some of whom are relatively new users (the criterion being <1000 rep; I know it's arbitrary, but I don't want to dig into other users' history of activity):
- Ezhik, who solved 21 challenges in Rust! Considering the difficulty of some of the challenges and the (relative) unpopularity of the language, this is a great dedication and achievement.
- Ajax1234, who solved 16 challenges in Python. Trying and being outgolfed is a great way to learn.
- lonelyelk solved 4 challenges in Ruby, and Madison Silver solved 3 in Haskell.
- sfieger, terom, Vojket, M Virts, and wojciech-graj solved one challenge each. Welcome everyone, and we hope you enjoy solving other challenges as well!
Scoreboards for fun :)
Here's AoC private leaderboard-style1 scoreboard for users:
1111111111222222
Username 1234567890123456789012345 Solved Score
----------------------------------------------------------------
alephalpha ************************* 25 2073
Neil ************************* 25 1390
Kevin Cruijssen **************** ** ** 20 1043
tjjfvi *********************** 23 935
Ezhik ********************* 21 850
G B ************ **** *** 19 775
tsh ********* * *** ** ** 17 765
Ajax1234 **** ****** ** **** 16 720
Arnauld **** * ** ** * ** 12 537
loopy walt ** ** * *** ** * 11 471
Dominic van Essen * **** *** * * * 11 456
emanresu A * * ** * 5 412
ovs ***** *** * 9 355
pxeger ** * * * * 6 262
Jonah ** * * ** 6 251
pajonk *** * * * 6 236
Razetime *** * * 5 190
lonelyelk * * ** 4 164
Jonathan Allan * * * 3 158
Madison Silver ** * 3 125
hyper-neutrino * * 2 97
DLosc ** * 3 97
wasif * * 2 82
AZTECCO ** 2 69
Kaddath * * 2 67
SuperJedi224 * 1 62
MarcMush ** 2 52
Noodle9 * 1 49
Anders Kaseorg * 1 49
caird coinheringaahing * 1 47
M Virts * 1 46
att * 1 46
wojciech-graj * 1 43
Giuseppe * 1 43
Unrelated String * 1 42
chunes * 1 41
user * 1 41
Vojket * 1 38
ZaMoC * 1 37
Xcali * 1 37
sfieger * 1 36
m90 * 1 35
terom * 1 33
Yousername * 1 33
Engineer Toast * 1 29
DeathIncarnate * 1 29
Zaelin Goodman * 1 28
ZippyMagician * 1 27
mazzy * 1 25
and here's the same for languages:
1111111111222222
Language 1234567890123456789012345 Solved Score
-------------------------------------------------------------
Python ********************* 21 1688
Pari/GP ************************* 25 986
Charcoal ************************* 25 955
JavaScript **** ** *** ****** ** ** 19 784
Wolfram Language ******************** **** 24 777
Ruby ************ ******** 20 755
TypeScript Types *********************** 23 751
Rust ********************* 21 682
05AB1E ************ ** ** ** 18 650
R **** * *** * ** * 12 495
Jelly *** * * * * 7 321
BQN *** **** * 8 246
Java ** * * * * * 7 219
Retina ** ** * 5 195
J ** * ** 5 166
Vyxal * * * * 4 150
Husk ** * 3 121
Haskell ** * 3 101
C * * 2 76
Perl 5 * * 2 70
MathGolf * * 2 65
Zsh * * 2 60
Pip * * 2 58
APL * * 2 57
Japt ** 2 53
PHP * * 2 51
Regex * 1 39
PowerShell * 1 37
Whython * 1 37
Julia ** 2 36
Factor * 1 33
Whitespace * 1 31
x86-32 machine code * 1 27
Clojure * 1 25
TI-Basic * 1 25
Turing Machine Code * 1 24
Thue * 1 22
Excel * 1 21
Burlesque * 1 21
ayr * 1 19
SnakeEx * 1 15
The scoreboards were generated using this script.
1 Take all users participated across all challenges. For each challenge, the first solver (ordered by the posting time) gets <the number of users>
score, the second gets that score minus 1, down to the last one solved. Same goes for the languages.
Hall of Fame
- alephalpha solved all problems in Pari/GP, and most of them also in Mathematica! That's a great amount of dedication, especially given that many challenges were not so much about mathematics.
- Neil solved all problems in Charcoal (as usual), and also some fitting ones in Retina.
- tjjfvi solved most of the problems (23) in TypeScript Types (not regular TypeScript)! It is about abusing a type checker to do arbitrary calculation (not like in Turing tarpit style, but with actual numbers, strings, and arrays), something that has never been done on CGCC as far as I'm aware. Their answers may lose badly in code golf, but the effort to even write some answer in it makes them noteworthy.
- Anders Kaseorg's answer for Day 22 is interesting in its own right, as it simplifies a seemingly impossible problem into a relatively concise set of string transformations.
If you find other answers (or a set of answers) worth noting, please let me know.
And...
Stay tuned for Advent of Code Golf 2022!2
2 No warranty, but if it goes, we hope it goes well!