https://school.programmers.co.kr/learn/courses/30/lessons/1845
set 사용해서 nums원소의 가짓수 구한 다음 nums.size/2보다 크면 nums.size()/2를 리턴하고 작으면 set의 size를 리턴
#include <vector>
#include <set>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
set<int> ss;
for(int n : nums)
ss.insert(n);
if(ss.size() >= nums.size() / 2)
answer = nums.size() / 2;
else
answer = ss.size();
return answer;
}
#include <bits/stdc++.h>
using namespace std;
int solution(vector<int> nums) {
unordered_set<int> s(nums.begin(), nums.end());
return min(nums.size() / 2, s.size());
}
min 함수 사용