shinbian11   3년 전

예제입력을 그대로 넣으면 

7 1 2 3 4 5 6 7 일떄는 정상적으로 잘 출력되는데

8 1 2 3 5 8 13 21 34 일때는 두번씩 출력되는 이유가 뭔가요??

pch6828   3년 전

1 2 3 5 8 13 21 34 일 때와
1 2 3 5 8 13 34 21 일 때, 둘의 첫번째부터 6번째 자리까지는 모두 같습니다. 이런 경우 때문에 두번씩 출력이 될것입니다.

shinbian11   3년 전

그럼 순열로는 저 문제를 풀기가 어렵나요? 재귀로는 풀어봐서 순열 이용해서도 풀고 싶은데 막히네요 ㅠ

pch6828   3년 전

순열로 풀기에는 값이 너무 큽니다. 12!개의 순열이 존재할텐데, 이 값은 대충 5억 정도 됩니다. 여기다 매 순열 처음부터 6번째자리까지 체크하는 것도 들어가기 때문에 연산이 너무 많이 필요하죠

또한 순열로 풀기에는 처음부터 여섯 자리가 모두 정렬되어 있는 경우만 허용되기 때문에 사실상 너무 많은 경우가 버려지게 됩니다.

저는 그냥 6중 for문으로 해결하긴 했네요...ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.