본문 바로가기

Algorithm/Implementation

(C++) - 프로그래머스(찾아라 프로그래밍 마에스트로) : 폰켓몬 답

반응형

programmers.co.kr/learn/courses/30/lessons/1845

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

풀이방법

1. 수의 종류를 구합니다.

2. nums의 size/2와 수의 종류 중 작은 수를 반환해줍니다.

Code

#include <vector>
#include <algorithm>
using namespace std;
int cnt[200001];
int solution(vector<int> nums)
{
    int answer = 0;
    int size = nums.size();
    int category = 0;
    for(int i = 0; i < size; i++){
        if(!cnt[nums[i]]) category++;
        cnt[nums[i]]++;
    }
    return min(category,size/2);
}