I'm doing self study on a couple of topics in mathematics, such as real analysis, abstract algebra, and linear algebra. From time to time, there are always a couple of exercises which I found too difficult to solve. I spend quite some time to think about them. When I fail, I google to find the solutions. Most of the time, I get the solutions.
However, there are some downsides to this attitude. First, I would spend too much time on a single problem. So I feel that my progress is a little bit too slow. Other than that, when I read a solution, I don't get the real understanding of the problem. When I read a proof, my brain is working mechanically to check every statement, so I don't know what exactly is going on.
I start to wonder whether I'm doing this correctly. What I want to ask here is, what should I do when I encounter difficult exercises? Should I think about them myself until I get the answers? Or should I skip the difficult ones and move on to the next chapters, then go back after I gain more understanding?
You can strike a middle ground- work on the difficult exercises till you are stuck. Then come to MSE and ask for help with the point where you are stuck. Depending on how much help you want you can ask for complete answers or just hints etc.
That is what I am planning to do when I start going through Rudin. You may also want to tag the question as 'homework' as that is an important cue to some users that they should not provide complete solutions.