Scroll indicator done
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/1845


unique : 2 2 3 3 3 4 -> 2 3 4 2 3 3 4 -> 중복된 원소를 모아둔 뒷부분의 첫번째 원소 주소를 리턴
erase : v.erase(v.begin()+s, v.begin()+e) 명령어를 입력하면 [s,e) 원소가 삭제됨


< 다른 사람의 풀이를 보아하니 중복 제거가 특징인 set을 쓰기 위해 unordered_set을 쓴다 >
unordered_set<int> s(nums.begin(), nums.end());
return min(nums.size() / 2, s.size());
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int solution(vector<int> nums) {
    int size = nums.size() / 2; // 꺼낼 개수 3
    sort(nums.begin(), nums.end());
    nums.erase(unique(nums.begin(), nums.end()), nums.end()); 
    return size < nums.size() ? size : nums.size();
}
728x90