본문 바로가기

코딩테스트

[C++] (프로그래머스) 폰켓몬

대회명/문제출처: 프로그래머스

난이도: ☆☆☆
  • 문제 분류: Hash

 


[분석]

문제 분류는 해시이지만, cpp에서 기본적으로 제공하는 Set STL을 사용하면 쉽게 풀 수 있는 문제이다.

 


[코드]

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

int solution(vector<int> nums)
{
    set<int> s;
    int answer = 0;
    
    auto iter=nums.begin();
    for(;iter!=nums.end();iter++) {
        s.insert(*iter);
    }
    if(s.size()<int(nums.size()/2)) answer=s.size();
    else answer=int(nums.size()/2);
    
    
    return answer;
}

 

vector를 set으로 자료형 변환하고 난 후, 사이즈에 따라 answer에 넣는 값을 바꾼다.