When faced with writing an algorithm to solve a small project/problem is it better to come up with pseudo code that isn't efficient/optimum but solves the problem and then try to use the inefficient code to **inspire** a better/good solution? The solution must be acceptable, not necessarily "super-amazing-out-of-this-world" type. 

The answer is subjective, but I am looking for a general opinion or consensus from experienced programmers in order to develop a better algorithm generation/problem solving process. 

*The reason I ask this is that I often start composing the most intuitive algorithm but then get derailed thinking about how inefficient it is and if I should be using a better data structures etc etc.*