C++:: 프로그래머스 < 명예의 전당(1) >

jahlee·2023년 4월 18일
0

프로그래머스_Lv.1

목록 보기
21/75
post-thumbnail

k명 만큼 계속 정렬해주다가 넘치면 지워주고 가장 작은 값을 결과벡터에 넣어주면 되는 간단한 문제이다.

#include <string>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> solution(int k, vector<int> score)
{
    vector<int> answer, v;
    for(auto c : score)
    {
        v.push_back(c);
        sort(v.begin(),v.end());//정렬
        //k개 이상이면 맨처음 값 삭제(오름차순정렬이기때문에 가장 처음이 가장 작은값)
        if (v.size() > k) v.erase(v.begin());
        answer.push_back(*v.begin());//맨처음값 추가
    }
    return answer;
}

0개의 댓글