I found this as an exercise, and wrote my own solution but am interested in a shorter/easier one.
So here it goes:
Statement:
$G$ is a group
$G$ has a finite number of subgroups <=> $G$ is finite.
Proof:
Suppose $G$ has an infinite number of elements but a finite number of subgroups.
Let's look at the cyclic subgroups of $x$ where $x \in G$.
$A_G=\{\langle x\rangle : x \in G\}$
Since the elements of $A_g$ are subgroups of $G$ => $A_G$ has a finite number of elements.
Obviously $\cup_{A \in A_G}{A} = G$.(since every $x \in G$ would belong to $\langle x\rangle$ which is in $A_G$.
So it's a given that for some $x \in G$, $\langle x\rangle$ must have an infinite number of elements.
But then we can make infinitely many subgroups of $\langle x\rangle$ like: $\langle x^2\rangle$,$\langle x^3\rangle$,$\langle x^4\rangle$,etc.(which are all different, but to convince oneself, we can only look at $\langle x^p\rangle$ where p is prime.)
Hence G has an infinite amount of subgroups which is a contradiction, so G has to be finite.
Now in the opposite direction:
Suppose G is finite. Let $|G|=n$.
$P(G)$(the powerset of G) will have only $2^n$ elements. But the set of subgroups of G is a subset of $P(G)$.
Hence G has a finite number of subgroups.
$\langle X\rangle$
for $\langle X\rangle$. $\endgroup$ – Shaun Sep 24 '20 at 13:49