Skip to main content
4 of 4
deleted 1 character in body

AWK, 120 118 bytes

{while(i++<NF)r[i]=int(rand()*NF)+1;for(;l++<NF;j=k=0){while(k++<NF)if(r[k]==l){printf"%*c",k-j,$k;j=k}print FS}}

Try it online!

I've included the 5 bytes in the score for the necessary -F '' switch, but I had to use the BEGIN{FS=""} directive for the TIO link since it doesn't process the command-line switch properly.