
시간이 애매하게 남아서 간단하게 풀어본 문제
개수를 파악해야하니까 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퍼 아래인 문제들 위주로 풀어봐야겠다.
'C++ 문제풀기 > 백준-프로그래머스' 카테고리의 다른 글
| 백준 | 1931. 회의실 배정 (0) | 2025.10.31 |
|---|---|
| 백준 | 1920. 수 찾기 (0) | 2025.10.31 |
| 프로그래머스 | 구명보트 (0) | 2025.10.28 |
| 프로그래머스 | 카펫 (0) | 2025.10.28 |
| 프로그래머스 | 가장 많이 받은 선물 (0) | 2025.10.12 |