시간이 애매하게 남아서 간단하게 풀어본 문제

 

개수를 파악해야하니까 map을 썼고, 정렬이 애매해서

map 의 value값을 vector에 넣어서

정렬한 다음에

큰 수부터 필요한 귤 개수가 될 때까지 cnt 해가면서 풀었음

크게 어렵지 않은 문제였움

#include <algorithm>
#include <vector>
#include <map>
#include <iostream>
using namespace std;

int solution(int k, vector<int> tangerine) {
    int answer = 0;
    
    map<int, int>m;
    for(auto x : tangerine) m[x]++;
    
    vector<int>v;
    for(auto x : m) v.push_back(x.second);
    
    sort(v.rbegin(),v.rend());
    for(auto x : v){
        if(k <= 0) break;
        k-=x;
        answer++;
        
    }
    return answer;
}

이게 가장 효율적인 방법인지는 모르겠지만 나는 우선 이렇게 풀었음.

 

이제 정답률 높은 lv2는 쉽게 푸는거 같으니까

정답률 높은 lv3랑 lv2에서 정답률 50퍼 아래인 문제들 위주로 풀어봐야겠다.

+ Recent posts