Today I have been pondering what means "mastering the fundamentals of problem solving". I come up with few steps:
- Practice small problems daily – e.g. use LeetCode, Codewars, or Edabit.
- Always write down what the problem is asking.
- Break the solution into steps before coding.
- Use plain language first**, then write code.
- Review others’ solutions to learn new tricks.
- Try to explain your solution to someone (or rubber duck).