3 ms·
I did a competitive programming course in undergrad, these problems are really interesting if you're not familiar with it. I highly recommend folks try a few pr
by pbnjay 10y ago
I did a competitive programming course in undergrad, these problems are really interesting if you're not familiar with it. I highly recommend folks try a few problems and look at the solutions. It can be really eye-opening.
However, I really haven't applied much of what I learned doing the problems to "real" work. It's cool to see methods of looking at things differently, but just doesn't translate well to software development.
- teraflop 10y agoSpeaking as a former ICPC competitor/coach, I think the aspect that most directly translated to professional software development was getting practice at quickly writing and reviewing code for performance and correctness. A bit of background about ICPC, for those who don't know: It's a team competition. You have 3 contestants on a team, but only one computer on which to write, test and submit your code. Most of the work of solving a problem is usually done in your brain or on paper, so typically, one person will be coding at a time while the other two think about problems and get ready to rotate to the keyboard. But although the primary scoring criterion is number of problems solved, you also get penalized for time taken and incorrect attempts. So it's really important to be able to glance over someone else's shoulder and notice things like "oh, there's an off-by-one error in that loop condition" or "you forgot about such-and-such an edge case".
- pbnjay 10y agoThat's fair. It's definitely good for training/exercising the syntax parser and debugger in your head without relying on an IDE or compiler errors. And you definitely have to plan ahead to complete the problems in the time allotted. Debugging in my head has always been one of my strong suits so I tend to forget that other people have other strengths first. :)