쌓고 쌓다

[프로그래머스] K번째수 C++ 풀이 본문

알고리즘/프로그래머스

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

승민아 2022. 6. 28. 22:06

https://programmers.co.kr/learn/courses/30/lessons/42748?language=cpp 

 

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

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

programmers.co.kr

 

전체 코드

#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> clone; // array의 i~j까지의 수를 넣어 줄것임.
        
        for(int j=commands[i][0]-1;j<=commands[i][1]-1;j++) // clone으로 array를 복사
            clone.push_back(array[j]);
        
        sort(clone.begin(),clone.end()); // clone 정렬
        answer.push_back(clone[commands[i][2]-1]); // k번째 수 획득
    }
    
    return answer;
}

 

array의 i~j번째의 원소를 복사해 넣을 vector를 이용해 풀었습니다.

Comments