Impulsive autocorrelation sequence
Here is a detour over the frequency domain. We'll use index $k$ for frequency and index $n$ for time. Capital letters for Frequency Domain variables


The Fourier Transform (FT) of an impulse is $R(k)=1$
FT of the autocorrelation is the magnitude squared of the FT of the original signal, i.e $R(k) = |S(k)|^2$
Combining 1 and 2 we get $|S(k)| = 1 $,i.e. $S(k)$ must be an allpass filter
An allpass filter has zeros that are inverse of the poles
Any finite length sequence can be viewed as the impulse response of an FIR filter
An FIR filter has all the poles at $z=0$
An FIR allpass filter can therefore have only zeros at $z = \infty$
Zeros at infinity correspond to pure integer delays.
Pure delays have only one non-zero sample 


And that's basically it. This says if $s[n]$ is a finite length sequence, the only way to get a unit impulse as auto correlation is to have only one non-zero sample. Any sample will work though, it doesn't have to be at $n=0$. For a length of 3 you get 4 solutions: $[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]$