In my humble opinion as a math student and considering that my main area of interest is computer science, I see that one of the most important skills required to solve problems is the mathematic thinking - a skill that involves the ability to look into a problem and extract informations.
With my background from high school, I developed a "mechanical way" to look into solutions for a problem, searching for formulas, techniques and theories that can be applied towards the solution. This can be problematic for many reasons: this "mechanical way" can lead to wrong formulas, bad abstraction of the problem, etc.
As I see, many people share this way of thinking. I'd like to receive a constructive feedback to start building confidence and think as a mathematician.
Peter Eccles book, An Introduction to Mathematical Reasoning, contains some very good foundational material. Solving problems and being able to check your answers is very helpful. Schaum's Outline Series for various subjects is very useful for this. (Many are available online free and used paperback versions can be found at online book stores.) Let me just add this: One of the most important mathematical tools to learn to use is the principle of induction.