I've been doing Project-Euler just as a way to increase my competency in computer science. I'm currently a Pure and Applied Math major who recently adopted computer science as a minor in order to apply to grad schools in comp. sci.
Some built-in Sage functions that are extremely fast and I do not have comparably fast definitions include gcd, lcm, .intersection(), .is_prime(), prime_range(), .factor(), solve(),...
Many Project-Euler problems I've been able to solve relatively easily and quickly with these built-in functions but when I see the forums after answering the question, other people's answers are quite lengthy (as they are writing they're own code).
I'm debating if my method of getting through Project-Euler is truly a learning environment. I'm definitely learning more Sage commands and getting better at using Sage but I'm not sure my coding is getting any better unless I make my own definitions.
In essence what is the transition period between using built-in definitions to strictly using your own independently created code? Or what's more beneficial, being able to create your own relatively fast code or getting the job done as fast as possible (using built-in methods)?