프로그래머스 K번째수

문제

2

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42748

풀이

1

assign 멤버 함수를 이용하여 temp 벡터에 array의 i번째와 j번째 배열을 가져온다음

sort를 통해 정렬한뒤 k번째 있는 수를 answer 벡터에 push 해준다.

주의할점은 배열 인덱스를 맞춰주기위해 1을 빼주어야한다 assign은 처음부터 마지막 이전까지 이므로 마지막이될 부분에는 1을 빼지않아도된다.

#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 (vector<int>& arr : commands)
	{
		temp.clear();

		temp.assign(array.begin() + arr[0] - 1, array.begin() + arr[1]);
		sort(temp.begin(), temp.end());

		answer.push_back(temp [arr[2]-1]);
	}
    
    return answer;
}

댓글남기기