인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

griotold's profile image
griotold

asked

10-Week C++ Coding Test | Algorithm Coding Test

[Read this first] How to ask questions

1-A 2309 일곱난쟁이 문제 순열로 풀 때

Written on

·

334

0

http://boj.kr/f6638250b2814e13a909273f55fdf916

순열로 푸는 경우에서 질문입니다.

강사님께서는 sum 변수를 do {} 블록에서 선언하셨는데요. 저는 그냥 전역변수로 선언하고 제출하니 틀리더라고요. 그리고, 디버깅을 해보니 무한루프에 빠집니다.

왜 이런건가요? 조합으로 풀때는 모든 변수를 전역으로 선언해도 맞는데, 순열로 할 때는 sum변수를 do {}블록에서 선언해야만 하는 이유가 궁금합니다.

코테 준비 같이 해요! C++

Answer 1

0

kundol님의 프로필 이미지
kundol
Instructor

안녕하세요 go님 ㅎㅎ

순열의 경우 next_permutation을 사용해서 하는 것이고. 그 함수의 특성상 다음 순열의 경우의 수를 만들어내는 것이기 때문에 원본 배열에서의 경우의 수를 고려하기 위해 do를 씁니다.

go 님의 코드에서는 경우의 수마다 sum을 100으로 초기화하는 것이 빠져있습니다.

sum을 디버깅해보시겠어요?

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.

griotold's profile image
griotold

asked

Ask a question