Its a bit difficult to say because it also depends on the strength of your writing skills. 3 weeks may be MORE than enough for some and not for others. Moreover, you should also leave some space in there for contingency. What happens if you dont get the score that you're aiming for in your GMAT? You'll definintely need a few weeks to prepare before you sit it again.
Are you applying only to Columbia?
GMAT Club Premium Membership - big benefits and savings