코드
#include <vector>
#include <algorithm> // sort()
#include <unordered_map> // 해시
using namespace std;
int solution(int k, vector<int> tangerine) {
int answer = 0;
unordered_map<int, int> hashmap;
vector<int> count;
for(int i=0;i<tangerine.size();i++)
{
hashmap[tangerine[i]]++; // 크기 별 개수 체크
}
for(auto n:hashmap){
count.push_back(n.second); // 크기 별 개수 값 count에 정리
}
sort(count.begin(), count.end(), greater<int>()); // greater<int>() : [start,end) 범위의 인자를 내림차순으로 정렬해 준다. -> 큰 크기 부터 비교하기 위함
int check=0;
for(int i=0;i<count.size();i++){
if(check>=k){ // 귤 담은 개수가 k보다 크거나 같을 때 반복문 탈출
break;
}
answer++; // 크기별 귤 개수 체크
check=check+count[i]; // 총 귤 개수 체크
}
return answer;
}