Let $A$ be a set for which there exists a function $f$ from $A$ to $\mathbb N$ with the property that for every natural number $k$, the subset of $A$ given by the solutions to $f(a) = k$ is finite. Show that $A$ is finite or countable.
How is my proof? It feels odd because I'm using a contradiction, and I don't think it's strictly necessary.
$A$ must be finite or countable because if it wasn't either of those things, it must be an uncountable set. However, it can't be an uncountable set because we can easily put it in bijection with $\mathbb N$. Here is how: for $S_1 = \{ a : f(a) = 1\}$, we know this is finite, and so we can put it in bijection with the numbers from $1,\cdots, |S_1|$; then, for $S_2 = \{ a : f(a) = 2\}$, we can put the elements in bijection with $|S_1| + 1, \cdots, |S_1| + |S_2|$. And so on and so forth. We can do this because $S_i$ is finite for all $i \in \mathbb N$. Hence, $A$ is countable, which is a contradiction.