인프런 커뮤니티 질문&답변
기초 개념 조합 강의에서
작성
·
197
0
안녕하세요
기초 개념 조합 강의 보다가 질문이 생겨 글 남깁니다.
5개 중 3개를 뽑는 조합에서
014가 담긴 후에
pop_back()이 어떻게 2번 일어나서 원복이 되는지 잘 모르겠습니다.
답변 1
0
큰돌
지식공유자
음 pop_back()이 연속으로 일어나지는 않습니다. 제가 주석처리를 좀 했는데요. ㅎㅎ
이 부분을 통해 디버깅을 해보시겠어요? 배열 5개에서 3개가 좀 힘들면 3개중에 2개로 바꿔서 디버깅(cout 을 통해 벡터 전부를 출력하게) 해보시면 이해가 가실 거에요.
void combi(int start, vector<int> b){
if(b.size() == k){
print(b);
return;
}
for(int i = start + 1; i < n; i++){
//이라인
b.push_back(i);
//이라인
combi(i, b);
//이라인
b.pop_back();
//이라인
}
return;
}






해결하였습니다.
감사합니다!