Programmers 42748 K번째수

로고 이미지

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42748

나의 풀이

  1. array를 초기 index와 묶어서 정렬
  2. 정렬한 array의 초기 index가 i이상 j이하면 count를 증가시킴
  3. count == k 이면 결과를 배열어 넣어줌

풀이 코드 : 42748 K번째수

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    vector<pair<int, int>> arr;
    for(int i=0;i<array.size();i++){
        arr.push_back(make_pair(array[i], i+1));
    }
    sort(arr.begin(), arr.end());
    for(int i=0;i<commands.size();i++){
        int count = 0;
        for(int k=0;k<arr.size();k++){
            if(arr[k].second >= commands[i][0] && arr[k].second <= commands[i][1]){
                count++;
                if(count == commands[i][2]) {
                    answer.push_back(arr[k].first);
                    break;
                }
            }
        }
    }
    
    return answer;
}

채점결과

42586


© 2020. All rights reserved.

Powered by Hydejack v8.4.0