인프런 커뮤니티 질문&답변

정윤원님의 프로필 이미지
정윤원

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

[필수개념] 조합(combination)

"조합"코드를 임의로 수정했는데 확인해 보고 싶습니다.

작성

·

166

0

선생님이 작성해 주신 조합 코드에서 제가 보기 편하게 임의로 수정했는데 잘 한 건지 궁금합니다.

완전히 같은 코드인가요? (실행 결과는 같습니다.)

  1. 아니라면 어떻게 다른지

  2. 왜 선생님이 작성해 주신 코드를 사용해야 하는지

가 궁금합니다!

http://boj.kr/2e6fe99f57874e4c8932b2f0817c9377

항상 좋은 강의 감사합니다.

 

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 윤원님 ㅎㅎ

이거 괜찮네요 ㅎㅎ

 

#include <iostream>
#include <vector>
using namespace std;

int n = 5; // Example values for n and k
int k = 3;

void print(const vector<int>& b) {
    for (int i : b) {
        cout << i << " ";
    }
    cout << endl;
}

void combi(int start, vector<int> b) {
    if (b.size() == k) {
        print(b);
        return;
    }
    for (int i = start; i < n; i++) {
        b.push_back(i);
        combi(i + 1, b);
        b.pop_back();
    }
}

int main() {
    vector<int> b;
    combi(0, b);
    return 0;
}

테스트 돌려봤는데 잘 나옵니다.

이게 편하시다면 이렇게 쓰시는 것도 좋아요.

제코드랑 비슷하고 둘 중에 어떤 것을 쓰든 괜찮은 것 같습니다.

잘하셨습니다. ㅎㅎ

 

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

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

정윤원님의 프로필 이미지
정윤원

작성한 질문수

질문하기