본문 바로가기
Coding Test/Programmers

[Programmers] Lv 2. 귤 고르기

by song.ift 2023. 6. 7.

https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=cpp 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

#include <string>
#include <vector>
#include <map>
#include <algorithm>

using namespace std;

int solution(int k, vector<int> tangerine) {
    int answer = 0;
    map<int, int> m;

	// map에 개수만큼 저장
    for_each(tangerine.begin(), tangerine.end(), [&](const auto& el)
    {
        m[el]++;
    });

    using pp = pair<int, int>;
    vector<pp> vec(m.begin(), m.end());
    sort(vec.begin(), vec.end(), [](const pp& a, const pp& b) // 내림차순 정렬
    {
        if (a.second == b.second) return a.first < b.first;
        return a.second > b.second;
    });

    for (const auto& num : vec) // 개수가 없으면 정답
    {
        answer++;
        if (k > num.second) k -= num.second;
        else break;
    }
        
    return answer;
}

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/blob/244b047f163278f0fb5d428d7351ca4b12d24fd6/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/unrated/138476.%E2%80%85%EA%B7%A4%E2%80%85%EA%B3%A0%EB%A5%B4%EA%B8%B0/%EA%B7%A4%E2%80%85%EA%B3%A0%EB%A5%B4%EA%B8%B0.cpp

 

GitHub - developeSHG/Algorithm-Baekjoon_Programmers: 백준 and 프로그래머스 소스코드

백준 and 프로그래머스 소스코드. Contribute to developeSHG/Algorithm-Baekjoon_Programmers development by creating an account on GitHub.

github.com

 

댓글