순열 (Permutation)
지인이 코딩 문제를 공유해줬는데 순열에 대한 알고리즘 문제가 있어서 다시 한번 리마인드 할 겸 글로 정리 한번 해보려고 한다. 순열 알고리즘 이란? N개의 서로 다른 값이 주어지고 값 중에서 R개의 숫자를 뽑아서 정렬하는 알고리즘이다. 이 내용은 다른 알고리즘과 중복되긴 하는데 순열에서 중요한 건 정렬이 된다는 것이고 순서가 존재한다는 점이다. 예를 들어 [1, 2] =! [2, 1]은 다른 값이기에 둘 다 카운팅이 된다. 주어진 값 = [1, 2, 3] 이라면 순열을 하여 2개 뽑아낸 값은 [1, 2] [1, 3] [2, 1] [2, 3] [3, 1] [3, 2] 이렇게 총 6개가 나와야 한다는 것이다. 자바 코드 구현 @Test public void 순열() { int r = 2; int[] inpu..
2022. 11. 28.