이전 순열 문제...
한 번 백준님의 피피티에 나와있는 다음 순열 문제 알고리즘 처럼
나도 한번 써보겠다.
물론 이건 내 생각이라 맞는지 아닌지는 잘 모르지만
일단 써보고 문제를 풀어보겠다.
다음 순열 문제 알고리즘과 비슷하다.
1. A[i-1] > A[i] 를 만족하는 가장 큰 i를 찾는다. (가장 긴 오름차순을 찾는다. ->최소값으로 이루어진 지점을 찾는 것임 바로 이전으로 돌아가기위해서 swap을 해줘야하니까...)
2. i-1 < j를 만족하고 A[i-1] > A[j] 를 만족하는 가장 큰 j를 찾는다.
3. A[i-1]과 A[j]를 swap한다.
4. A[i]부터 순열을 뒤집는다.
좀 어렵고 헷갈린다.
Practice makes perfect!
자 이제 한 번 코드로 옮겨보겠다.
다음 순열과 비슷해서 코드로 옮기는 것은 수월할 것 같다.
맞았습니다! 가 떴다.
혼자 힘으로 푼 건 아니지만 일단 지금은 배워가는 중이고, 또한 이해를 어느정도 하고 풀어서 기분이 좋다.
댓글 없음:
댓글 쓰기