Written on
·
334
0
http://boj.kr/f6638250b2814e13a909273f55fdf916
순열로 푸는 경우에서 질문입니다.
강사님께서는 sum 변수를 do {} 블록에서 선언하셨는데요. 저는 그냥 전역변수로 선언하고 제출하니 틀리더라고요. 그리고, 디버깅을 해보니 무한루프에 빠집니다.
왜 이런건가요? 조합으로 풀때는 모든 변수를 전역으로 선언해도 맞는데, 순열로 할 때는 sum변수를 do {}블록에서 선언해야만 하는 이유가 궁금합니다.
Answer 1
0
안녕하세요 go님 ㅎㅎ
순열의 경우 next_permutation을 사용해서 하는 것이고. 그 함수의 특성상 다음 순열의 경우의 수를 만들어내는 것이기 때문에 원본 배열에서의 경우의 수를 고려하기 위해 do를 씁니다.
go 님의 코드에서는 경우의 수마다 sum을 100으로 초기화하는 것이 빠져있습니다.
sum을 디버깅해보시겠어요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.