Most people don't fail because they can't solve the problem. They fail because they spend 20 minutes chasing the perfect approach and never write working code. A simple time budget keeps you moving and makes sure you always have something to show.
Almost always. Say the brute force out loud right away: "The naive version is two nested loops, O(n²). Let me get that working, then improve it." This does three things: it shows you can solve the problem at all, it gives you a baseline to test against, and it often points you to the faster approach. A working O(n²) beats a broken O(n) every time.