Want to be a better programmer? Want to be able to compete well against others? The simplest answer for getting better:
Practice
Practice
Practice
There's many places that offer online programming problems. Here's a few I've found over the years
CodeWars (My All Time Favorite!)
Github - Simple Programming Problems
University of Notre Dame - Programming Challenges