오답노트

프로그래머스 1단계 - K번째수 본문

C,C++/코딩테스트

프로그래머스 1단계 - K번째수

권멋져 2022. 5. 31. 11:35

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

 

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

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

programmers.co.kr

- 문제파악

정수 배열A를 주어지고 커맨드를 위한 크기가 3인 배열을 가진 이중배열B가 주어진다. 이중배열 B의 요소배열에는 i,j,k가 포함되어 있고 각각 시작인덱스, 끝인덱스, 인덱스로 정의할 수 있다. 배열A에서 i번째 부터 j번째까지 자른 배열에서 k 번째의 수를 출력하라.

 

- 정답

#include "bits/stdc++.h"

using namespace std;

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    
    for(auto cmd : commands)
    {
        vector<int> vec;
        int i = cmd[0] -1;
        int j = cmd[1] -1;
        int k = cmd[2] -1;

        for(int n = i ; n <= j ; n++ )
        {            
            vec.push_back(array[n]);
        }
        
        sort(vec.begin(),vec.end());
        answer.push_back(vec[k]);
        
    }
    
    
    return answer;
}