N 개의 정렬된 배열에서 중복수를 제거한 unique 한 배열을 만들어주는 함수를 작성하세요.

단, 낱개의 변수 이외에 메모리 할당을 금합니다.

즉 원본 배열에서의 제자리 필터여야함 ( inplace filter )

arr 에 유일한값들이 들어있도록 count 는 조정되어야 함.


template< typename T >

void unique( T* arr, std::size_t& count )

{

    // implement !

}




ex )


int arr[] = { 1, 2, 2, 2, 3, 4, 5, 5 };

int count = sizeof arr / sizeof *arr;

unique( arr, count );

for( int i = 0; i < count; ++i )

    std::cout << arr[ i ] << std::endl;


기대결과 :

1

2

3

4

5