https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <vector>
#include <map>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
map<int,int> m;
for(int i=0;i<nums.size();i++)
{
// 못찾았다면
if(m.find(nums[i])==m.end())
{
m.insert({nums[i],1});
}
else
m[nums[i]]++;
}
for(int i=0;i<m.size();i++)
{
if(answer>=nums.size()/2)break;
answer++;
}
return answer;
}
종류에 따라 폰켓몬에 번호가 부여되는데 번호로 이루어진 배열이 주어진다.
이 때, 최대 n/2마리를 고르는 경우의 수 중, 가장 많은 종류를 가질 때의 종류수를 리턴하는 문제이다.
편의를 위해 map을 사용하였다.
키는 종류, 값은 수로 하여 map을 생성하고 맵의 크기만큼 반복문을 돌며 answer를 증가시킨다.
이 때, 값이 n/2를 넘으면 종료한다.
'알고리즘 > 프로그래머스 1단계' 카테고리의 다른 글
프로그래머스 - 모의고사 - C++ (0) | 2024.07.17 |
---|---|
프로그래머스 - 2016 - C++ (0) | 2024.07.17 |
프로그래머스 - 카드 뭉치 - C++ (0) | 2024.07.17 |
프로그래머스 - 추억 점수 - C++ (0) | 2024.07.17 |
프로그래머스 - 명예의 전당(1) - C++ (1) | 2024.07.17 |