반응형
https://programmers.co.kr/learn/courses/30/lessons/42748
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> temp;
for(int i=0; i<commands.size();i++){
for (int j=commands[i][0]-1; j<commands[i][1];j++ ){
temp.push_back(array[j]);
}
sort(temp.begin(),temp.end());
answer.push_back(temp[commands[i][2]-1]);
temp.clear();
}
return answer;
}
vector의 정렬문제이다. 처음에는 이중 for문을 사용하여 해결하였다. for문을 하나 더 돌려서 temp에 저장하지 말고 해당 array에서 정렬할 부분에서만 정렬을 해줄 수 있다. 아래와 같이 만들면 단일 for문으로도 가능하다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> temp;
for(int i = 0; i < commands.size(); i++) {
temp = array;
sort(temp.begin() + commands[i][0] - 1, temp.begin() + commands[i][1]);
answer.push_back(temp[commands[i][0] + commands[i][2]-2]);
}
return answer;
}
반응형
'컴퓨터공학' 카테고리의 다른 글
[프로그래머스/C++] 약수의 개수와 덧셈 (0) | 2021.09.19 |
---|---|
[프로그래머스/C++] 약수의 합 (0) | 2021.09.12 |
[프로그래머스/C++] 내적 (0) | 2021.09.12 |
[CS231n 9강 정리] CNN Architectures (0) | 2021.08.18 |
[CS231n 8강 정리] 딥러닝 소프트웨어 (Deep learning software) (0) | 2021.08.16 |