반응형
기본적인 해시 문제이다.
unordered_set은 중복을 허용하지 않으므로 벡터에 들어있는 모든 숫자들을 unordered_set에 삽입하면
자연스럽게 폰켓몬의 종류를 구할 수 있다.
예외사항으로, 폰켓몬의 종류가 N/2보다 클 수 있으니, 해당 경우에만 예외처리를 해주면 무리없이 통과할 수 있는 문제였다.
#include <vector>
#include <unordered_set>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
int cnt = 0;
unordered_set<int> us;
for(int i=0; i<nums.size(); i++) {
us.insert(nums[i]);
}
if(nums.size() / 2 < us.size()) {
answer = nums.size() / 2;
}
else answer = us.size();
return answer;
}
반응형
'코딩테스트' 카테고리의 다른 글
[C++] 프로그래머스 - 기능개발 (0) | 2024.04.15 |
---|---|
[C++] 프로그래머스 - 프로세스 (0) | 2024.04.14 |
[C++][완전탐색] 프로그래머스 - 피로도 (0) | 2024.03.11 |
[C++][정렬] 프로그래머스 - 가장 큰 수 (0) | 2024.03.05 |
[C++][해시] 프로그래머스 - 완주하지 못한 선수 (0) | 2024.03.04 |