#include <vector> #include <algorithm> using namespace std; int solution(vector<int> nums) { int answer = 0; int MAX = nums.size()/2; sort(nums.begin(), nums.end()); nums.erase(unique(nums.begin(), nums.end()), nums.end()); answer = min((int)nums.size(), MAX); return answer; }
- 중복 제거를 할 때 sort -> erase + unique 를 써야한다.
(정렬되어있지 않은 상태라면 제거를 안함 -_-;)- unique는 연속된 중복 원소를 제일 뒤로 보내는 원리이기 때문!