This question has been asked before, but I wanted to try a different approach than the one linked, and I just wanted to make sure that it worked.
To do this, write out the coefficients as so: \begin{pmatrix} a_{10}&a_{11}&a_{12}&\dots&a_{1n} \\ a_{20}&a_{21}&a_{22}&\dots&a_{1n} \\ a_{30}&a_{31}&a_{32}&\dots&a_{1n} \\ \vdots&\vdots&\vdots&\vdots&\ddots \end{pmatrix}
where $a_{ij}$ represents the coefficient to the $x^j$ term in the $i^\text{th}$ polynomial.
We can list these coefficients out like reading a book, left-to-right, followed by top-to-bottom. More specifically, we can create a function $f$ from the natural numbers to these coefficients that map $x$ to $a_{qr}$, where $x=q(n+1)+r$ and $0\leq r<n+1$. This function is injective because a specific $q,r$ pair is associated with a unique natural number $q(n+1)+r$. It is also surjective because given an arbitrary $a_{ij}$, we know that there is a natural number such that $f(x)=a_{ij}$ (specifically $x=i(n+1)+j$).
This means that there are countably many coefficients in ALL polynomials of degree $n$. We can create an injective function from polynomials to the set of all coefficients by mapping each polynomial $P_i$ to its constant term $a_{i0}$, which means that the set of all polynomials of degree $n$ is also countable. Finally, since $A_n$ is a countable union of finite sets (finite number of roots for each polynomial), $A_n$ is countable.
The two main parts I'm not sure about is the bijection I create with coefficients of polynomials and natural numbers, and the existence of an injective function implying that the polynomials have the same cardinality (or less) as the coefficients.