1. 문제
프로그래머스 K번째수
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
2. 설명
3. 접근
- 임시 배열에 깊은복사합니다.
- 임시배열을 주어지는 인덱스 범위내에서 정렬합니다.
- 얻고자하는 임시배열의 인덱스에 해당하는 값을 정답에 저장합니다.
- 정답을 리턴합니다.
4. 코드
import java.util.Arrays;
public class Solution {
public int[] solution(int[] numbers, int[][] commands) {
int startIdx = 0;
int endIdx = 0;
int targetIdx = 0;
int numberLen = numbers.length;
int commandsLen = commands.length;
int[] answer = new int[commandsLen];
int[] temp = new int[numberLen];
for (int i = 0; i < commandsLen; i++) {
for (int j = 0; j < numberLen; j++) {
temp[j] = numbers[j];
}
startIdx = commands[i][0] - 1;
endIdx = commands[i][1];
Arrays.sort(temp, startIdx, endIdx);
targetIdx = commands[i][2] - 1;
answer[i] = temp[startIdx + targetIdx];
}
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 위장(Java) (0) | 2021.02.25 |
---|---|
[프로그래머스] 행렬의 덧셈 (Java) (0) | 2021.02.23 |
[프로그래머스] 이상한 문자 만들기(Java) (0) | 2021.02.18 |
[프로그래머스] 3진법 뒤집기(Java) (0) | 2021.02.17 |
[프로그래머스] 다음 큰 숫자 (Java) (0) | 2021.02.08 |
댓글