Class GameDev* SheepAdult

[C++] vector에서 중복 제거 본문

Algorithm

[C++] vector에서 중복 제거

SheepAdult 2022. 8. 31. 04:59

vector에서 중복이 되어 있는 수 들을 제거하기 위해서는 먼저 정렬을 해준다. 그 후 unique를 사용하면 중복되는 값들이 배열 맨 뒤로 이동하고 이동된 값의 첫 번째 위치를 반환한다. 그 후 erase를 해당 지점부터 end()까지 하게 되면 중복되는 수들은 제거된다. 물론 set을 사용하면 이 과정들이 필요 없이 처음부터 정렬해주고 중복된 수들도 제거해 주겠지만 벡터로 제한되는 상황이 나올 수 있으니 알아 두자는 의미로 작성한다.

ex)

// 정렬해주고
sort(answer.begin(), answer.end());
// unique로 뒤로 밀려난 중복된 수들 중 첫 번째를 unique는 반환한다. end()까지 erase하면 끝
v.erase(unique(v.begin(), v.end()), v.end());

'Algorithm' 카테고리의 다른 글

프로그래머스 스택/큐  (0) 2022.01.24
[Python] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기  (0) 2022.01.24