프로그래머스_K번째수
정렬(sort)
문제 해석
이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.
목표
i~j번째 원소를 정렬하여 k번째의 숫자를 구한다
방법
1. 배열을 필요한 정보만 추출한다.
2. 배열을 오름차순으로 정렬한다.
3. 원하는 위치의 정보를 추출한다.
결과
i~j번째 원소를 정렬하여 k번째의 숫자를 출력
통과한 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> arr;
vector<int> comm;
for (vector<vector<int>>::iterator iter = commands.begin(); iter != commands.end(); iter++)
{
comm = *iter;
int i = comm[0]-1;
int j = comm[1]-1;
int k = comm[2]-1;
for (int n = i; n < j+1; n++)
{
arr.push_back(array[n]);
}
sort(arr.begin(), arr.end());
answer.push_back(arr[k]);
arr.clear();
}
return answer;
}
풀이과정
1. sort할 vector를 생성하여 i~j까지 담는다
2. 정렬한다.
3. k번째 위치의 값을 answer에 추가한다.
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
C++ 가운데 글자 가져오기(프로그래머스) (0) | 2020.05.31 |
---|---|
C++ 2016년(프로그래머스) (0) | 2020.05.31 |
C++ 체육복(프로그래머스) (0) | 2020.05.29 |
C++ 모의고사(프로그래머스) (0) | 2020.05.27 |
C++ 완주하지 못한 선수(프로그래머스) (0) | 2020.05.26 |