SW/알고리즘

C++ : 프로그래머스 : K번째수: 풀이

얇은생각 2019. 5. 28. 07:30
반응형

풀이


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

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;

int size = commands.size();

for(int i=0; i < size; i++){

vector<int> subArray;

subArray.assign( array.begin() + commands[i][0] - 1, array.begin() + commands[i][1]);

sort(subArray.begin(), subArray.end());

answer.push_back( subArray[commands[i][2] - 1]);
}

return answer;
}


결과

정확성 테스트
테스트 1 통과 (0.01ms, 3.8MB)
테스트 2 통과 (0.01ms, 3.73MB)
테스트 3 통과 (0.00ms, 3.82MB)
테스트 4 통과 (0.00ms, 3.75MB)
테스트 5 통과 (0.01ms, 3.7MB)
테스트 6 통과 (0.00ms, 3.76MB)
테스트 7 통과 (0.00ms, 3.87MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0


총평

사실상 시키는 대로 구현을 하여 풀어보았습니다. 우선 각 커맨드 값에 따라 벡터를 자릅니다. 그 다음 정렬 함수를 사용해 자른 벡터를 정렬합니다. 그 다음 해당하는 원소의 값을 푸시하였습니다. 모두 푸시한 후에 해당 벡터를 반환합니다. 

반응형