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

 

프로그래머스

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

programmers.co.kr

문제가진짜 쉽다 그냥 알고리즘이 문제에 다 나와있기때문에 그거 따라서 코딩 하면 답나온다 .

 

 알고리즘 

예제 입출력으로 보면은 

2번째 부터 5까지 자른후 sort 로 정렬.

그리고 3번째수 psuh_back 이거반복하면된다 . for 문 쓸줄알면 더쉽게짜고 쓸줄 몰라도 짤수 있다.

 

 코드 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#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++) {
 
        int a = commands[i][0];
        int b = commands[i][1];
        int c = commands[i][2];
 
        vector<int> arr;
 
        //a번재 부터 b번째 까지자르고
        for (int j = a - 1; j < b; j++) {
            int num = array[j];
            arr.push_back(num);            
        }
 
        //정렬하여 c번째 숫자를 출력
        sort(arr.begin(), arr.end());
        answer.push_back(arr[c - 1]);
    }
 
    return answer;
}
 
cs
 

 

ariz1623