728x90
vector<int> nums를 중복 제거한다면
1.sort, unique, erase 함수를 활용
1 2 3 4 5 6 7 | sort(nums.begin(), nums.end(), less<int>()); nums.erase(unique(nums.begin(), nums.end()), nums.end()); // 분리해서 쓰면 sort(nums.begin(), nums.end(), less<int>()); auto it = unique(nums.begin(), nums.end()); nums.erase(it, nums.end()); | cs |
2. set, unordered_set 구조 활용
1 2 3 4 5 6 7 8 9 10 11 12 | // 정렬이 필요할때 #include <set> set<int> s(nums.begin(), nums.end()); // 정렬하지 않아도 될때 #include <unordered_set> unordered_set<int> s(nums.begin(), nums.end()); // set을 벡터에 복사 nums.clear(); nums.resize(s.size()); copy(s.begin(), s.end(), nums.begin()); | cs |
728x90
반응형
댓글