Algorithm Problem Solving/Programmers

[프로그래머스] 코딩테스트 연습 정렬 K번째수

코코자장자장 2021. 11. 27. 17:57

안녕하세요! 오늘은 프로그래머스 K번째수 문제를 풀어보았습니다!

 

이전 포스팅이랑 마찬가지로 algorithm에 있는 sort func을 이용해서 문제를 해결해 보았습니다!

 

for문을 이용해서 cuttedArray를 만들어서 그 Array를 정렬하고 거기에서 k번째 수를 answer 벡터에 push_back해주는 것으로 간단하게 문제를 풀 수 있습니다!

 

여려 방법으로 문제를 접근할 수 있을것 같네요 다들 한번씩 다른 방법으로 도전해보는 것도 좋아 보입니다!

 


 

#include <string>
#include <vector>
#include <algorithm>
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> cuttedArray;
        for(int j = commands[i][0]-1; j <= commands[i][1]-1; j++){
            cuttedArray.push_back(array[j]);
        }
        sort(cuttedArray.begin(), cuttedArray.end());
        answer.push_back(cuttedArray[commands[i][2]-1]);
    }
    return answer;
}