Hard data structure and algorithm practice puzzle.
Given a string of digits, return every valid IP address you can make by adding three dots. Each of the four parts must be 0 to 255, with no leading zeros (so "0" is fine, but "01" isn't). Recurse, trying parts of 1, 2, or 3 digits. Once you have four parts, keep the address only if you've used every digit.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Then grow it into a real project with the Software Engineer button: this puzzle becomes the Frame Expression Evaluator, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles