ygc1577   2년 전

순열 문제를 분석하고 있는데, 여기서 만약 N에 3을 넣고, M에 2를 넣었을 때

1,1

1,2

1,3

2,1

2,2
.

.

이렇게 나오는 건 맞는데 코드 진행을 분석하다가

1,3이 나온 이후  2,1이 나오는 부분이 이해가 잘 안되었습니다ㅠㅠㅠㅠ

비주얼 스튜디오로 하나하나 뜯어서 보아도 갑자기 변해서 이해가 안되네요...

1,3을 sb에 넣은 이후에는 return을 통해

다시 i가 3이고 depth가 1인 상태로 돌아가는데

여기서 다시 depth가 0이고 i가 2로 변하는데 이게 이해가 잘 안됩니다...for문을 나가서 그렇다고하기엔 납득이 잘 안가고....제발 알려주세요 되게 간단한 문제인 것 같은데 헤매서 짜증나고 잠이 안옵니다 제발 알려주세요ㅠㅠㅠ

jiminp   2년 전

depth == 2였다가 depth == 0이 되었다면, for 문 나가서 그런 게 맞을 겁니다. 콜 스택을 확인 해 보세요.

만약 스텝 한 번만에 depth가 0이 된 거라면, TCO(꼬리 재귀 최적화)가 관여되었을 가능성도 있습니다만 제가 Java에 대해서는 잘 몰라서 확실하지는 않네요...

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