Study hard

(c++)프로그래머스 코딩테스트 연습 - K번째수 본문

프로그래머스/정렬

(c++)프로그래머스 코딩테스트 연습 - K번째수

Nimgnoej 2020. 10. 21. 18:51

programmers.co.kr/learn/courses/30/lessons/42748

 

코딩테스트 연습 - K번째수

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr

[풀이]

c++ algorithm라이브러리의 sort를 이용하여 간단하게 풀 수 있는 문제다.

 

#include <string>
#include <vector>
#include <algorithm>//sort

using namespace std;

int getResults(vector<int>array, int i, int j, int k) {
	int idx;
	vector<int>tmp;
	for (int n = i - 1; n <= j - 1; n++) {
		tmp.push_back(array[n]);
	}
	sort(tmp.begin(), tmp.end());
	return tmp[k - 1];
}

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
	vector<int> answer;
	for (int n = 0; n < commands.size(); n++) {
		int i = commands[n][0];
		int j = commands[n][1];
		int k = commands[n][2];
		int res = getResults(array, i, j, k);
		answer.push_back(res);
	}
	return answer;
}