문제풀이(Problem Solving)

프로그래머스, 폰켓몬 : C++ [CPP]

게임이 더 좋아 2021. 11. 9. 14:38
반응형
728x170

 

쉽게 풀 수 있지만 문제 해석을 잘해야 한다.

https://programmers.co.kr/learn/courses/30/lessons/1845?language=cpp 

 


배운 점

Set은 Unique함  (정렬할 수도 안할 수도 있음)

Set의 원소 추가는 Insert로 함

 


 

#맞는 풀이

#include <vector>
#include <set>

using namespace std;

int solution(vector<int> nums)
{
    int answer = 0;
    set<int> s; // unique한 값을 넣음
    int size = nums.size();
    //set으로 바꾸어서 unique한 값을 만든 뒤 
    //각 종류마다 한마리씩 가져가는 것이 가장 다수의 종류를 가져갈 수 있음
    
    for(auto x : nums){
        s.insert(x);
    }
    
    //s의 size가 곧 종류
    if(s.size() <= size/2 ){
        answer = s.size();
    }else{
        answer = size/2;
    }
    
    return answer;
}
728x90
반응형
그리드형