Here's one thing you could do: fix $\varepsilon > 0$, and partition the domain into $[0, \varepsilon / 4]$ and $[\varepsilon / 4, 1]$. On the latter interval, the function is continuous, and hence integrable.
Therefore, we may find a partition $\mathcal{P}$ of $[\varepsilon/4, 1]$ such that both the upper and lower sums, $U(f, \mathcal{P})$ and $L(f, \mathcal{P})$ respectively, on this partition are within $\varepsilon / 2$ of each other.
Extend $\mathcal{P}$ to a new partition $\mathcal{P}'$ on $[0, 1]$, by taking $\mathcal{P}$ and including $[0, \varepsilon / 4]$. Note that the function is bounded by $1$ and $-1$, and in fact, attains these extreme values infinitely often on $[0, \varepsilon / 4]$. Therefore, the upper sum $U(f, \mathcal{P}')$ will just be $U(f, \mathcal{P}) + \varepsilon/4$. Similarly, $L(f, \mathcal{P}') = L(f, \mathcal{P}) - \varepsilon/4$.
Hence, for any $\varepsilon > 0$, we have constructed a partition $\mathcal{P}'$ on $[0, 1]$ such that
$$U(f, \mathcal{P}') - L(f, \mathcal{P}') = U(f, \mathcal{P}) - L(f, \mathcal{P}) + \varepsilon / 2 < \varepsilon.$$
Thus, the function must be integrable.