코딩 테스트에서 빈번하게 사용되는 순열과 조합 알고리즘에 대해 공부해보자. 직접적으로 몇 개의 조합을 찾아라!라는 문제보다는 순열 혹은 조합을 적절히 사용해서 경우의 수를 찾는 문제들이 빈번히 출제되므로 대비해두는 것이 좋다. 1. 순열 (Permutation) '서로 다른 n 개의 원소 중에서 r 개를 골라 순서를 구분하여 나열한 경우의 수'를 의미한다. 순열은 nPr 로 표현한다. 순열의 개수를 구하는 공식은 n! / (n-r)! 이다. 순열에서 중요한 점은 순서를 구분한다는 점이다. 예를 들어 [1, 2, 3, 4]의 배열에서 순서를 구분하여 3가지 원소를 경우의 수를 나열하면 아래와 같이 24개의 경우의 수가 나온다. [1, 2, 3] [1, 2, 4] [1, 3, 2] //[1, 2, 3] 과 ..