When you say you had to work harder to get the same result, do you mean the programming or the math? In my CS classes I saw really smart kids who were aces in the theoretical aspects of the program but couldn't grok programming. I also saw the reverse. You will have to be honest with yourself and figure out which kind of person you are and if you are willing to put in the necessary work to be 'big 4' material.
My advice, is keep practicing the algorithms, but do so with purpose. Try to tie in what you are learning with what you are doing at work, or a side-project. The essentials will osmose over time. Learning this stuff without having the proper context to understand is value is difficult ... (for me anyways).