As I attempt to work through the teachyourselfcs.com curriculumn, I am trying to find how long is too long to spend on a problem. Now remember, I am a beginner so the knowledge base is being built. I have spent a long time on the problems in SICP and feel it is slowing down my overall growth.
What is an efficient timeline of when to give-in and look up a solution?
What is more important is what happens AFTER looking up a solution. You have to be analytical and look at the solution. How does it work? How is it different from your attempt(s)? Why is it better than any attempt you made? And so on. This is difficult for a beginner, but you will get better.