-
K번째 수코딩 테스트/프로그래머스 2021. 8. 23. 13:36
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
문제 이해
-> 주어진 배열에서 i번째부터 j번째까지 숫자를 자르고 정렬했을 때 k번째에 있는 수 반환
문제 주의
-> 배열의 길이는 1이상 100이하
-> 배열의 각 원소는 1이상 100이하
-> 2차원 배열의 길이는 1이상 50이하
-> 2차원 배열의 각 원소의 길이는 3
문제 풀이
-> 임시 배열에 i번쨰부터 j번째까지 수를 추가
-> 임시 배열을 정렬한 후, k번째 수에 해당하는 숫자를 정답 배열에 추가
-> 위 과정을 반복하여 정답 배열을 반환
#include <string> #include <vector> #include <algorithm> #include <iostream> using namespace std; vector<int> solution(vector<int> array, vector<vector<int>> commands) { vector<int> temp; vector<int> answer; for (int i = 0; i < commands.size(); i++) { temp.clear(); for (int j = commands[i][0]; j <= commands[i][1]; j++) temp.push_back(array[j - 1]); sort(temp.begin(), temp.end()); answer.push_back(temp[commands[i][2] - 1]); } return answer; }
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
부족한 금액 계산하기 (0) 2021.08.25 내적 (0) 2021.08.24 두 정수 사이의 합 (0) 2021.08.21 가운데 글자 가져오기 (0) 2021.08.20 나누어 떨어지는 숫자 배열 (0) 2021.08.19