Problems are good, graded difficulty (don't want to discourage anyone with the first problem), solutions don't take terribly many lines of code. Low barrier to entry makes for a fun contest. Problem 2 is on par with a medium-hard ACM ICPC question, probably one of the harder questions I've seen in a startup-made contest. High five.
The second one isn't that hard once you recognise the kind of problem it is; then it's just a case of writing out a standard solution (I don't want to be more explicit in case I spoil it for someone else).
I have done a few of these puzzles; the ones I remember were for Quora and STA. Of those, this had least code and was quickest to write - it was fun to think about, but I didn't really learn much doing it.
In comparison, the Quora question involved various optimisations in C code (for speed) which was a bit of a time-waster - I think this tests a wider range of knowledge much more quickly. But my favourite was an STA question on inferring relatives from DNA which meant learning something new (high dimensional data; particularly locality sensitive hashing).
Personally I would prefer to see all the questions at the start, so I can see how interesting everything is, and how much time is involved. I don't really understand the advantage (to the people asking) of having them chained.
PS I find the spammy comments on this thread very odd. Are Hyperpublic themselves using sock puppets? That really makes you look bad.
Thanks for the feedback, and I agree that if we ever create more problems it'd be a good idea to help people learn along the way.
Re the spammy comments, our entire team are longtime HN users so we all know those hurt way more than they help, but think one of our "fans" wanted to "help" a little too much. Love their enthusiasm though.
But then that's the thing, a lot of places have these kind of programming challenge puzzles.
What's the closest to a Putnam for programming challenges?
I know Facebook is trying to position their Hacker Cup this way, but it had a rough start that makes you wonder if it's the best thing for Facebook to run on its own.
It seems like there's an opportunity for a prominent and widely-sponsored event run by a third party.
I presume the sponsors would love a window of exclusivity to see the best results from recruitable competitors.
Even without the obvious recruiting benefits, it would at least capture the imaginations of aspiring programmers worldwide.
Rather than focus on a specific "answer," you instead write algorithms to solve various flash games based on NP-complete/hard problems.
Its interesting since there's always ways to improve. You can start out with a brute-force solver, but as the levels scale your program won't.
They also recently added a "challenges" section, which is more about specific coding tasks. Those are also pretty fun & scale well.
And yes, despite the domain name & poor design, it's actually a pretty serious site. The same guy also did http://goproblems.com/ , which is cool if you're into Go (the board game, not the lang).
I wonder how many people solve it and then do not send in their key. I know I'm not. I cannot be the only one that was more interested in doing the challenge than the rewards.
I've thought "How can my solution possible be wrong" numerous times while doing those problems. Makes you realize how often mistakes slip through in real code, 'that can't possibly be wrong'. Even when you have tests, because for complex behavior, your test case solution may easily be wrong (or worse: derived from your algorithm... I'm guilty of that mistake)
I'm not convinced that brute force is such a bad approach, as long as a) you start with the greedy approximation, and b) stop once you know you're doing worse than the greedy approximation. My python brute-force solution runs in .035 s.