Hacker News new | past | comments | ask | show | jobs | submit login

> You don't need a computer science background to participate - just a little programming knowledge and some problem solving skills will get you pretty far.

The use of “pretty far” gives them a bit of an out, but I think this statement is a little disingenuous. Last year, at least, a bunch of the problems needed fairly sophisticated algorithms to find the solution in a reasonable amount of time.

To me, a little programming knowledge is what somebody who is six weeks into their introduction to programming class has. They know variables, loops, lists, and maybe associative arrays.




"Participate" doesn't mean "win". You can look things up as well. I haven't done a ton of AoC, but the harder ones from it I've seen were not very hard to search/research for the correct algorithm (even avoiding "what's the answer for day X" searches).


Anecdote to support your comment: The Chinese Remainder Theorem has featured in Advent of Code at least twice IIRC. Not an algorithm the average programmer (average is a very fuzzy term, yeah) would know.


> The Chinese Remainder Theorem has featured in Advent of Code at least twice IIRC

Fortunately it's never been needed. Every time it's come up the problem has been solvable with high school algebra level math skills (you need to know what the lcm is and that's covered in middle school in many places). If you knew the CRT you could jump straight to a solution, but a solution was easily derived using algebra and a couple loops.


Got some specific references for the days that was required?

I think a lot of people are so focused on "optimal" solutions they fail out or burn out quickly, ignoring the ugly "just loop a bunch of things" option.

I'm by far an expert on AoC, but the number of people I see every year on day 2 or 3 saying "IT'S TOO MUCH" because they were trying to implement some crazy algorithm when basic array operations and for loops would solve it...

I flunked out of high school. I don't even properly understand algebra, never mind any sort of complex math. I have no CS degree. I've completed most of it in some gross PHP that completed before next year on a single core in an old laptop.

If "knowledge of obscure algorithms" is a requirement either I'm a once in a generation genius or... it's not a requirement.


AoC doesn't require any particular algorithmic knowledge to solve its problems. Sometimes knowing algorithms is useful to quickly write your solution, but IME it's never a requirement. Unlike leetcode-style challenges, AoC tasks usually don't even try to punish you for solutions that are specific to your particular input. You can get some stars with just pen and paper.

It's more like a set of logic puzzles. Programming and algorithms are only incidental.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: