A proof that $C[0,1]$ is separable
Solution 1:
If $a$ and $b$ are two successive nodes (thus distant by $1/n$), then $|f(x)-f(y)|<\epsilon$ for any $x,y\in]a, b[$, this is true by construction (specifically, the construction of $n$ and $\epsilon$). We can thus conclude that $|f(x)-f(a)|\leq\epsilon$ and $|f(x)-f(b)|\leq\epsilon$ because $f$ is continuous.
(For example, if we fix $c,x\in]a, b[$, we know that $|f(c)-f(x)|<\epsilon$. $|f(c)-f(x)|$ is a continuous function in $x$, so if we let $x$ tend to $a$, we'll find that it tends to $|f(c)-f(a)|$. But a function taking on values strictly less than $\epsilon$ can't tend towards something strictly greater than $\epsilon$, so $|f(c)-f(a)|\leq\epsilon$.)
Since $f$ and the polygonal curve are within $\epsilon$ of one another on each segment, they're within $\epsilon$ of each other on the entire interval. Thus they are within $\epsilon$ of one another in the sense of the norm $\|\cdot\|_\infty$. Since this works for any $\epsilon$, and for any $f$, we have shown that $f$ can be approximated as closely as desired by a polygonal curve, in other words, the set of polygonal curves is dense in $C[0, 1]$.
That's not very helpful, though, because the set of polygonal curves is not countable. That's why the next step is to show that we can assume the polygonal curve in question takes on rational values at its node points (which we're already assuming are rational). Basically, we can do this because the rationals are dense in the reals, so we just have to nudge the nodes of the polygonal curve up or down by an arbitrarily small amount in order to achieve this, so we can still approximate $f$ as well as we like (see the paragraph right under the diagram for the details).
And apparently, the set of polygonal curves so described is countable. Not sure why that is off the top of my head.