본문 바로가기

CS/알고리즘

[c++][프로그래머스] K번째 수 [성공]

https://school.programmers.co.kr/learn/courses/30/lessons/42748

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

copy의 개념과 범위 때문에 고민한 문제

c++ 알고리즘은 하루 3문제, 각 30분씩 정해놓고 연습하고 있다

 

#include <string>

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

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    
    for (int i=0; i<commands.size(); i++){
        
            vector <int> temp={0};
        
            int a=commands[i][0];
            int b=commands[i][1];
            int n=commands[i][2];
            
            temp.resize(b-a+1);
            copy(array.begin()+a-1, array.begin()+b, temp.begin());
            sort(temp.begin(),temp.end());
            answer.push_back(temp[n-1]);
    }
    
    return answer;
}