코딩테스트 준비/프로그래머스

[프로그래머스] - 포켓몬(해시) c++

SeoburiFaust 2024. 2. 14. 15:26

문제

https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

접근방법

처음 보고 level1인데 왤케 어렵나 했다.

쉽겠거니 하고, 다시 문제를 봤다.

 

쉬운 문제가 맞았다.

코드

#include <vector>
#include <map>

using namespace std;

int solution(vector<int> nums)
{
    int answer = 0;
    int n = nums.size();
    int k = n / 2;    //k는 가져갈 수 있는 포켓몬 수
    map<int, int> species;
    for (int k : nums) {
        species[k]++;
    }
    if (species.size() > k) answer = k;
    else answer = species.size();
    return answer;
}

개선할 점

map은 정말 유용하다.