본문 바로가기

ALGORITHM/프로그래머스

폰켓몬

1차원 벡터를 입력받고 set을 이용하여 poketmon 변수에 포켓몬종류를 중복없이 삽입하였다.

set자료구조를 이용하면 값이 중복될 수 없다.

포켓몬종류를 count변수에 저장하고 포켓몬 수 / 2 와 비교하여 작은 수를 출력하면 된다.

문제풀이 도중 4개의 입력값을 nums로 받았을 때 nums.size()의 값이 visual studio에서는 16으로 나왔는데 프로그래머스에서는 4가 나와서 문제가 있었다.

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

int solution(vector<int> nums)
{
	int answer = 0;
	int count = 0;
	set<int> poketmon;
	for (int i = 0; i < nums.size(); i++)
	{
		poketmon.insert(nums[i]);
		
	}

	for (int p : poketmon)
	{
		
		count++;
	}

	if (nums.size() / 2 > count)
		return count;
	else
		return nums.size() / 2;
	
}