Next Permutation을 응용하여 생성되는 배열을 1의 ArrayList에 저장한다.
입력값은 N이기 때문에 초기 배열을 하나 생성하여 NP함수에 전달해준다.
맞은 부분
3번에서 입력받은 N에 대해 초기배열을 생성하여 기존 함수에 인자로 전달한다.
틀린 부분(틀린 이유)
n=3인 경우, 123 132 213 231 312 321 이 출력되어야하는데 132만 출력되었다. 그 이유는 ap에서 다음 순열을 만들긴하지만 이 ap함수를 한번만 호출했기 때문에 바로 다음인 수열인 132만 출력 되었다. 이것은 1회성 호출이 아닌, Next Permutation에서 구현한 다음 순열 생성함수에서 true 또는 false를 리턴할 때 false가 아닐 때까지(true인 동안) 계속 반복해서 실행되어 다음 순열을 생성, 출력해야한다. 배열 또는 ArrayList를 리턴하도록 하고 싶고, 그리고 반복하는 조건을 걸어주기 위해 리턴 값(true 또는 false)를 이용하고 싶지만 한가지 함수에 대해 다음 순열에 해당하는 일거양득을 이룰 순 없다. 내가 생각한 방법대로 다음 순열을 계속해서 생성하여 ArrayList에 넣고, 출력하고 싶다면 반복하는 조건을 걸어주어야 한다.