Posts [알고리즘] 프로그래머스 - K번째수
Post
Cancel

[알고리즘] 프로그래머스 - K번째수


문제

K번째수


접근

해당 구간을 복사하여 정렬한다.
구간을 복사하는 것은 슬라이싱을 통해 간단하게 해결 가능하다.
다음 command는 원본 배열을 사용해야 한다.


코드

  • 파이썬 코드
1
2
3
4
5
6
7
def solution(array, commands):
    answer = []
    for s, e, k in commands:
        arr = array[s-1:e]
        arr.sort()
        answer.append(arr[k-1])
    return answer
  • C++ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <vector>
#include <algorithm>
using namespace std;

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    for(int i = 0; i<commands.size();i++){
        vector<int> arr = vector<int>(array.begin() + commands[i][0] - 1, array.begin() + commands[i][1]);
        sort(arr.begin(), arr.end());
        answer.push_back(arr[commands[i][1] - 1]);
    }
    return answer;
}


This post is licensed under CC BY 4.0 by the author.

[알고리즘] 프로그래머스 - 가운데 글자 가져오기

[알고리즘] 프로그래머스 - 서울에서 김서방 찾기