총 폰켓몬 수 N 중에서 N/2만큼 데려갈 수 있다.
그 때 최대한 많은 종류의 폰켓몬을 데려갈 수 있는 종류 수를 return하라.
-nums는 폰켓몬의 종류 번호가 담긴 1차원 배열
-nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수
-폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수
-가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return
sort() 함수를 사용하여 num을 정렬한다. (=>algorithm include 필요)
int값들로 이루어진 vector를 정렬했기 때문에 vector의 길이만큼 반복문을 돌며 다음 값이 앞의 값보다 크면 다른 경우이므로 cnt++
구해진 cnt값이 N/2보다 크면 N/2를 return
아닌 경우에는 cnt를 return한다.
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> nums)
{
int cnt = 1;
int pick = nums.size() / 2;
int answer = 0;
sort(nums.begin(), nums.end());
for(int i= 0; i < nums.size() - 1; i++){
if(nums[i] < nums[i + 1]) cnt++;
}
if(cnt > pick) answer = pick;
else answer = cnt;
return answer;
}