문제
프로그래머스 코딩테스트 연습 - K번째 수 (Level 1)
https://programmers.co.kr/learn/courses/30/lessons/42748
사용 알고리즘
- 정렬
풀이
각 벡터(예제)마다 원본 array벡터를 카피한 temp벡터를 만들어 정렬시키고
k번째로 큰 수를 구함.
나의 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
int i, j, k;
for(auto command:commands){
vector<int> temp=array;
i=command[0]-1;
j=command[1]-1;
k=command[2]-1;
sort(temp.begin()+i,temp.begin()+j+1);
answer.push_back(temp[i+k]);
}
return answer;
}
남의 코드(좋아요 최다 코드)
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> temp;
for(int i = 0; i < commands.size(); i++) {
temp = array;
sort(temp.begin() + commands[i][0] - 1, temp.begin() + commands[i][1]);
answer.push_back(temp[commands[i][0] + commands[i][2]-2]);
}
return answer;
}
내 코드랑 비슷한 방법이다.
728x90
'PS > Programmers' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 폰켓몬 (Level 1) (0) | 2021.06.20 |
---|---|
프로그래머스 코딩테스트 연습 - 체육복 (Level 1) (0) | 2021.06.19 |
프로그래머스 코딩테스트 연습 - 음양 더하기 (Level 1) (0) | 2021.06.18 |
프로그래머스 코딩테스트 연습 - 내적(Level 1) (0) | 2021.06.17 |
프로그래머스 코딩테스트 연습 - 수포자(Level 1) (0) | 2021.06.13 |