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.