Post List

[PROGRAMMERS] 폰켓몬

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


n개의 폰켓몬 리스트가 있을 때 그 중에 다른 종류의 폰켓몬의 갯수를 구하는 문제

단, 최대 고를 수 있는 폰켓몬의 수는 n/2이므로, 최대로 선택할 수 있는 폰켓몬 갯수는 n/2이다.


코드:

#include <vector>
#include <algorithm>
using namespace std;

int solution(vector<int> nums)
{
    int answer = 0;
    sort(nums.begin(), nums.end());
    int num = -1;
    int maxCount = 0;
    int selectableCount = nums.size() / 2;
    for (int i = 0; i < nums.size(); i++)
    {
        if (num != nums[i])
        {
            maxCount++;
            num = nums[i];
            if (maxCount > selectableCount)
            {
                maxCount = selectableCount;
                break;
            }
        }
    }

    return maxCount;
}

댓글