Want to learn to effective problem-solving skills for coding challenges? The best way to do that is to practice, then practice, then refactor your code. And then practice some more. One the best tools ...