That is "correct", and an interesting theoretical result, but it's a hopelessly inefficient way to calculate the determinant of a general matrix, because it takes of the order of n! operations for an n x n matrix.

A much more efficient way is to do row operations on the matrix which don't change the value of the determinant (or only multiply it by -1), but systematically change the matrix so that all the entries below the diagonal are zero. The determinant is then just the product of the diagonal terms. In the worst case, that takes about n3 operations. For a 10 x 10 matrix, n3 = 1,000 and n! = about 3.6 million, so one way is about 3600 times faster than the other!

A much more efficient way is to do row operations on the matrix which don't change the value of the determinant (or only multiply it by -1), but systematically change the matrix so that all the entries below the diagonal are zero. The determinant is then just the product of the diagonal terms. In the worst case, that takes about n3 operations. For a 10 x 10 matrix, n3 = 1,000 and n! = about 3.6 million, so one way is about 3600 times faster than the other!

By chance, could you give an example of how to do row operations to find the determinant?

That is "correct", and an interesting theoretical result, but it's a hopelessly inefficient way to calculate the determinant of a general matrix, because it takes of the order of n! operations for an n x n matrix.

Whenever I get to compute a det with n >= 3 MANUALLY, I use this method. Possibly because I remember it by heart. Doing arbitrary n dets most efficiently is a distinctly different matter.