코드
#include <vector> // erase()
#include <algorithm> // sort()
using namespace std;
vector<int> solution(int k, vector<int> score) {
vector<int> answer;
vector<int> num;
for(int i=0;i<score.size();i++){
num.push_back(score[i]);
sort(num.begin(),num.end()); // 오름차순 정렬
if(num.size()>k){
num.erase(num.begin());
}
answer.push_back(*num.begin());
}
return answer;
}
// erase 함수를 통해 vector의 특정 값을 삭제한다고 할 때, 해당 값이 삭제가 되고 그만큼 vector의 size가 줄어든다.
// 해당 값이 지워지면 container가 모든 요소를 새 위치로 재배치한다. 그렇기 때문에 size는 줄어도, capacity는 줄어들지 않는다.
'C++ > programmers 코딩테스트(level 1) C++' 카테고리의 다른 글
[C/C++] programmers Level 1 [1차] 비밀지도 (0) | 2023.10.14 |
---|---|
[C/C++] programmers Level 1 2016년 (0) | 2023.10.12 |
[C/C++] programmers Level 1 모의고사 (0) | 2023.10.08 |
[C/C++] programmers Level 1 문자열 내 마음대로 정렬하기 (0) | 2023.10.05 |
[C/C++] programmers Level 1 3진법 뒤집기 (2) | 2023.10.04 |