Addendum: When I say "good (expensive) lawyer", I'm talking somewhere in the 35k range.
A decent lawyer can get you off with just a slap on the wrist, but there'll still be a crime on your record, albeit a lesser one. But a good fucking lawyer can make it disappear entirely: it never happened, you were never charged, you don't have to admit anything to future employers.
When it comes to lawyers, shop around. Any relatives, friends, friends' parents who are lawyers - ask them to introduce you to someone who knows who the best defense attorneys in your area are. DON'T just pick up the phone and start calling lawyers based on something you read on a website or fucking avvo or something.
You want a good lawyer, you need to get the advice of a real person who knows the best lawyers in your area. It's the only way to know that you're not getting screwed.
Take out a loan. A public defender won't be able to get you off completely free. Here's what a public defender will do:
1) Someone from the office will meet with you briefly in their office. There's a strong chance that it'll be a law school student interning with the office.
2) They won't be able to answer any of your questions about what the likely outcomes of the case could be.
3) They'll try to push you to take a plea. They have huge dockets, and the more pleas they negotiate, the faster they get through them.
4) In all probability, they won't actually see the police report until the morning of the trial if you go to trial. So that plea they negotiated for you? Yeah, they made that without seeing any actual information.
Think of it this way: If you don't have a clean criminal record, your ability to earn a future income is severely limited. Hiring a good lawyer is an investment in your future, and if you have to beg your parents for a loan, then so be it.