It's more than just solving a problem though, you should be solving the given problem without creating new problems. This is where the working/secure code aspect comes in.