Approaching a seemingly intractable problem This is a soft question that questions how to be efficient in approaching a problem that seems intractable to solve.
In particular in abstract algebra, I feel that certain proofs are 'magic'. 
When I approach a certain problem I always restrict the methods in the proof that I give to the material that has been discussed in the textbook so far. 
However, there are also times that when I see the proof (after trying really hard at attempting) that it seems trivially obvious. I then ask myself how I could have not. thought about that. But then again, I did spend the time in approaching the problem; so if it was so obvious, why didn't I solve it right away?
I'm thinking that I lack some kind of efficiency when approaching problems in abstract algebra but I fail to see how I can improve this substantially.
To give a random example, here is such a question (I'm not looking for an answer to this question, in this post, btw).
Show that the order of any cyclic subgroup of $S_n $ is a divisor of $n! $. (Lagrange's theorem and cosets aren't discussed yet; just the definition of a (sub)group, the sign function and the concept of equivalence classes.)
This post is written in the spirit of the broadest sense of how to approach a certain question efficiently, some times after many (failed) attempts. I may not have formulated the post in the clearest way possible. But then again, this is meant as a soft question.
What I usually do when I'm stuck with a certain question, is reviewing the discussed material and then giving it another go. 
  Some times I search up Wikipedia on the concept, but then I feel that a question is posed to be solved with only the discussed material at hand; so this feels like cheating.
 A: You may want to consider reading Polya's classic How to Solve It: a New Aspect of Mathematical Method, although problems involving abstract algebra are not discussed in this book. You may find the following passage from this book useful (p. 5-6):
"Trying to find the solution, we may repeatedly change our point of view, our way of looking at the problem. We have to shift our position again and again. Our conception of the problem is likely to be rather incomplete when we start the work; our outlook is different when we have made some progress; it is again different when we have almost obtained the solution... First, we have to understand the problem; we have to see clearly what is required. Second, we have to see how the various items are connected, how the unknown is linked to the data, in order to obtain the idea of the solution, to make a plan. Third, we carry out our plan. Fourth, we look back at the completed solution, we review and discuss it."
So, how can the procedure described above be applied to problems in abstract algebra? To illustrate how this procedure may be applied to a group-theoretic problem, let's try to apply this procedure to the group-theoretic problem given above (without using Lagrange's theorem).  
Step 1 (Understand the problem): What is a subgroup? What is a cyclic group? What is the symmetric group $S_{n}$? What do cyclic subgroups of $S_{n}$ "look like"? How do you intuitively "see" the elements in $S_{n}$? Do you intuitively "perceive" the elements in $S_{n}$ as permutations written in disjoint cycle form? As permutation matrices? As (bijective) functions on $\{ 1, 2, \ldots, n \}$?
Step 2 (Make a plan): First, use the definitions you considered/reviewed in Step 1, and think of the definition of a cyclic group. In Step 1, we considered how permutations may be written in disjoint cycle form. How can this concept be used to make a plan according to Step 2? By considering how permutations may be written in disjoint cycle form, it seems natural to use the useful fact that disjoint cycles commute.  
I will leave it as an exercise to apply the remaining steps of the procedure outlined above since you are not looking for an answer to this question in this post.  
