JAVA/Algorithm

[프로그래머스/java] K번째수

nang. 2020. 10. 21. 23:40
반응형
SMALL

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

 

  • 배열 자르기
    • Arrays.copyOfRange(배열, 시작, 끝)
  • 배열 정렬
    • Arrays.sort(배열)

 

import java.util.*;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length]; // 어차피 정답은 commands의 개수와 동일하므로
        
        // Arrays.copyOfRange(배열, 시작, 끝) : 배열 자르는 함수
        for(int i = 0; i < commands.length; i++) {
            int slice_array[] = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]);
            // -1 해주는 이유는 자를 때는 시작 인덱스를 1부터 세므로
            
            Arrays.sort(slice_array); // 정렬
            
            // k번째 수 찾기
            answer[i] = slice_array[commands[i][2]-1]; // -1 해주는 이유 동일
        }
        
        
        return answer;
    }
}
반응형
LIST