티스토리 뷰

반응형

 

문제의 조건

 

1. 폰켓몬이 종류별로 담긴 배열 nums가 주어진다. 

 

2. 나는 nums의 길이의 절반만큼의 폰켓몬만 데려갈 수 있다. 

 

3. nums 배열에는 [1,1,4,3,5,5] 이런 식으로 숫자가 담겨 있는데 같은 숫자끼리는 같은 종류의 폰켓몬이라는 뜻이다. 

 

4. 여기서 내가 데려갈 수 있는 가장 많은 종류의 폰켓몬 수 구하기 

 


배열에 담긴 숫자들을 종류별로 센 후 (배열 길이/2)에 따라 리턴하면 될 거 같아서 아래와 같이 짜 보았습니다. 

 

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

int solution(vector<int> nums)
{
    int AbleToChoose = nums.size() * 0.5f;

    sort(nums.begin(), nums.end());
    nums.resize(unique(nums.begin(), nums.end()) - nums.begin());

    int types = nums.size();

    int answer = 0;
    if (AbleToChoose >= types)
        answer = types;
    else 
        answer = AbleToChoose;

    return answer;
}

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함