If you have #N# different objects that you would like to position into #N# different places, you can put the first object to any one of the #N# available places.
Then, with each of the #N# positions of the first object, the second object can be placed into any one of the remaining #N-1# places. That makes the number of available position of the first two objects equal to #N*(N-1)#.
With each of the #N*(N-1)# positions of the first two objects there are #N-2# available positions for the third object. That makes the number of possible positions of the first three objects equal to #N*(N-1)*(N-2)#.
Continuing this logic, we come to conclusion that all #N# objects can be positioned in
#N * (N-1) * (N-2) *...*2*1 = N!# ways.