On entire functions of finite order 
An entire function $f(z)$ has said to have finite order if there exist positive constants $c$ and $n$ such that
  $$ |f(z)|\le ce^{|z|^n} .$$
  Prove that if such a function has only a finite number of zeros, then it must be of the form $$ f(z)=p(z)e^{q(z)} ,$$ where $p$ and $q$ are polynomials.


My attempt:
I have tried considering the function $g(z)\colon=f(z)/e^{z^n}$ but we can not use the condition since $|e^{z^n}|\le e^{|z|^n}$ but $$|g(z)|\ge\frac{|f(z)|}{e^{|z|^n}}\le c.$$
Then I am stuck... I really need some hints to move on. Thank you.
 A: This is an immediate consequence of the Hadamard factorization theorem. A direct proof goes as follows:
If $f$ has only finitely many zeros then $f(z) = p(z) e^{h(z)}$ for some polynomial $p$ and an entire function $h$. Then
$$
 e^{\operatorname{Re}h(z)} = |e^{h(z)}| =  \frac{|f(z)|}{|p(z)|} \le c e^{|z|^n} \\
\implies \operatorname{Re}h(z) \le |z|^n + \log(c)
$$
for sufficiently large $z$. Now use Can the real part of an entire function be bounded above by a polynomial? to conclude that $h$ is in fact a polynomial.
A: If $f$ has finitely zeros let $p(z) = \prod_i (z-a_i)$ then $g(z) = f(z)/p(z)$ is entire and has no zeros thus $$g(z) = e^{G(z)}$$
where $G$ is entire.
Then the main point is Borel–Carathéodory theorem : from $|f(z)|\le ce^{|z|^n} $ we know $\Re(G(z)) \le C |z|^{n+1/2}$ which implies $|G(z)| \le A |z|^{n+1/2}$ so that (Liouville theorem, Cauchy integral formula) $G^{(k)}(0) = 0$ for $k \ge n+1$ and $$G(z) = \sum_{k=0}^n \frac{G^{(k)}(0)}{k!} z^k, \qquad f(z) = p(z)e^{G(z)} $$
