You are sort of doing that by exploring the built-in function approach, especially if it was introduced at some point before this exercise (in the lesson track). Building on only what we have been introduced to at a given point means honing one’s skills with just those tools.
Master each module before going forward. As simple as they may seem, look for alternate ways to put the pieces together to arrive at a desired solution. These practice makes perfect exercises are the reminder (real eyeopener for many) of what building work we may have neglected up to this point. It’s why people hit a wall, here.
Racing through the first set of units without review is how not to build upon what we have been introduced to. Nothing will stick, and we will not have the mental prowess to design an algorithm. If we are stumbling on code awareness, we are not going to be thinking through the problem and formulating ideas in our mind.
Programming is not a rote science. There are best practices, yes, but beyond that the sky is the limit and we need to expand our brain and imagination early on. We cannot be creative working from templates, alone. The code patterns we teach ourselves through experimentation (trial and error) are the ones that we will carry into the future.
Anyway, it sounds like I’m harping, now. Bottom line is to take your time and study every concept thoroughly so you begin to recognize the moving parts of a program and how to design one for any given problem. Happy coding!