I was in your same situation. I used to copy answers and paste them in the editor. I figured as long as I can read and understand the code I am learning; I was wrong.
I could easily understand the code, but I couldn’t write it myself.
So I deleted my freeCodeCamp account and restarted all of it. Then googled some more places to learn coding for free. I found that looking at it as a game definitely helped, when I found codingame.com and started working on the first two challenges there. I found that I could not get past anymore than that though, so I was discouraged once again. But I continued to do google searches, and look for more resources.
I have done the basic courses on codecademy, dash.assemb.ly, and a few others, and they did help slightly, but not enough to get me through the algorithms on freeCodeCamp which I kept coming back to.
Finally I changed my search to “code learning games” and found this little site called codecombat.com. It was a very childish site, and being 23, and I almost didn’t look twice at it, but I was so discouraged with my lack of progress that I finally decided, why not? It couldn’t hurt to see what their site had to offer.
I found that although they directed their site at young children, and the idea was admittedly very childish, the site was EXTREMELY effective.
I’m not saying that that is what you should do, because everyone learns differently. But until you have went through every resource at your disposal and done everything you possibly could, you can’t say that you aren’t smart enough to code. There is something on the internet that can teach you to code. I promise you that. The resources are almost unlimited. You just have to look