I finished the code kata I blogged about yesterday. I won’t share the solution since others might want to try it. But it’s interesting how my thought process was shaped by the challenge to try not to use a nested loop. Because of this, I didn’t think about the simplest solution, or the most efficient solution. I thought about how I could do it without using a nested loop. I approached it as a coding challenge rather than a math challenge, which is what it actually was.
And once I solved it as a math problem, rather than as a coding problem, the complexity dropped from exponential to linear. So the code was improved by stepping outside of the coding domain.