[C++로 풀이] 폰켓몬⭐⭐

Date:     Updated:

카테고리:

태그:

📌 폰켓몬

난이도 ⭐⭐

🚀 문제

image

image


🚀 내 풀이 ⭕

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

int solution(vector<int> nums){
    int answer = 0;
    unordered_map<int, int> m;
    
    for(int i = 0; i < nums.size(); i++)
        m[nums[i]]++;
    
    if (nums.size() / 2 >= m.size())
        answer = m.size();
    else
        answer = nums.size() / 2;
    
    return answer;
}
  • m : 종류가 Key 로, 그 종류의 해당하는 폰켓몬 마리수가 Value에 담김
  • nums.size() / 2 마리만 선택할 수 있으므로
    • if (nums.size() / 2 >= m.size()) 종류 수보다 선택할 수 있는 마리수가 더 많으면 answer는 폰켓몬 종류 수가 된다.
    • else 종류 수보다 선택할 수 있는 마리수가 더 적으면 answer는 선택할 수 있는 마리수가 된다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Programmers 카테고리 내 다른 글 보러가기

댓글 남기기