std::unique란?std::unique는 인접한 중복 요소를 제거하는 함수다.예시
#include <iostream>
#include <vector>
#include <algorithm> // unique, erase
int main() {
std::vector<int> vec = {1, 2, 2, 3, 4, 4, 4, 5};
// 정렬 (unique는 인접한 중복만 처리 가능)
std::sort(vec.begin(), vec.end());
// unique와 erase로 중복 제거
vec.erase(std::unique(vec.begin(), vec.end()), vec.end());
// 결과 출력
std::cout << "중복 제거 결과: ";
for (int n : vec) {
std::cout << n << " ";
}
return 0;
}
출력
중복 제거 결과: 1 2 3 4 5
std::unique는 인접한 요소의 중복만 제거하므로, 중복을 제거하려면 먼저 정렬이 필요하다.{1, 2, 2, 3, 4, 4, 4, 5} → {1, 2, 3, 4, 5, ?, ?, ?}unique가 반환한 위치부터 끝까지를 erase 함수로 삭제해서 실제로 컨테이너 크기를 줄인다.