You are intermediate, not a beginner, when you solve problems under your own initiative without having to run your ideas past someone else for reassurance in my opinion, and when these solutions you can come up with on your own work effectively.
It is not a measure of how much of the language you know as such but how effectively you can use what you know.
Just my own opinion based on many years of commercial software development.
I've known many who know a programming language back to back every keyword but can't code an effective solution in it for peanuts because their knowledge is purely academic. Just goes to show...