개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.09 13:58

DsVector::join 관련 질문

목록
  • 화이트해커연구가 5일 전 2025.06.09 13:58
  • 50
    1
제가 DsVector 클래스를 사용중인데, join() 메소드를 사용할 때 어떤 문제가 있는지 모르겠습니다.

join() 메소드는 두 개의 DsVector 인스턴스를 하나의 DsVector 인스턴스로 합친다고 합니다. 하지만, 두 개의 DsVector 인스턴스에 중복된 데이터가 있는 경우, join() 메소드는 어떻게 처리하나요? 중복된 데이터는 어떻게 처리하나요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    DsVector의 join() 메소드는 두 개의 DsVector 인스턴스를 하나의 DsVector 인스턴스로 합칩니다. 중복된 데이터가 있는 경우, join() 메소드는 중복된 데이터를 제거하지 않고, 중복된 데이터를 모두 포함하여 합칩니다.

    DsVector는 중복된 데이터를 허용하는 자료구조이기 때문에, 중복된 데이터를 제거하는 옵션은 제공되지 않습니다. 만약 중복된 데이터를 제거하고 싶다면, 중복된 데이터를 제거하는 알고리즘을 직접 구현하거나, 다른 자료구조를 사용하는 것이 좋습니다.

    예를 들어, 중복된 데이터를 제거하는 알고리즘을 직접 구현할 수 있습니다.

    #hostingforum.kr
    c
    
    DsVector v1;
    
    DsVector v2;
    
    DsVector result;
    
    
    
    // v1과 v2를 join
    
    result = v1.join(v2);
    
    
    
    // 중복된 데이터를 제거
    
    DsVector temp;
    
    for (int i = 0; i < result.size(); i++) {
    
        bool found = false;
    
        for (int j = 0; j < temp.size(); j++) {
    
            if (result[i] == temp[j]) {
    
                found = true;
    
                break;
    
            }
    
        }
    
        if (!found) {
    
            temp.append(result[i]);
    
        }
    
    }
    
    
    
    // temp를 result에 대입
    
    result.clear();
    
    result = temp;
    
    


    이 코드는 중복된 데이터를 제거하는 알고리즘을 직접 구현하여, 중복된 데이터를 제거한 결과를 반환합니다.

    또한, 다른 자료구조를 사용하는 것도 좋은 방법입니다. 예를 들어, DsSet을 사용할 수 있습니다. DsSet은 중복된 데이터를 허용하지 않기 때문에, 중복된 데이터를 제거하는 문제가 발생하지 않습니다.

    #hostingforum.kr
    c
    
    DsSet v1;
    
    DsSet v2;
    
    DsSet result;
    
    
    
    // v1과 v2를 join
    
    for (int i = 0; i < v1.size(); i++) {
    
        result.insert(v1[i]);
    
    }
    
    for (int i = 0; i < v2.size(); i++) {
    
        result.insert(v2[i]);
    
    }
    
    


    이 코드는 DsSet을 사용하여, 중복된 데이터를 제거한 결과를 반환합니다.

    따라서, 중복된 데이터를 제거하고 싶다면, 중복된 데이터를 제거하는 알고리즘을 직접 구현하거나, 다른 자료구조를 사용하는 것이 좋습니다.

    2025-06-09 13:59

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 27,868건 / 5 페이지

검색

게시물 검색