본문 바로가기
Algorithm/Programmers

[1단계] 정렬, K번째수 - 작성중

by _silver 2026. 1. 6.


 

 

import java.util.Arrays;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
        // commands.length 길이만큼 결과를 담을 배열
        int[] answer = new int[commands.length];
        
        // 반복문으로 배열 자르기
        for(int c = 0; c < commands.length; c++) {
            int i = commands[c][0];
            int j = commands[c][1];
            int k = commands[c][2];
        
        
        // 배열 자르기
        // array: 1, 5, 2, 6, 3, 7, 4
        // index: 0, 1, 2, 3, 4, 5, 6
                                            // 2부터 ~ 5까지 자르기
        // 결과: 5, 2, 6, 3
        int[] slicedArray = Arrays.copyOfRange(array, i-1, j);
        
        // 배열 오름차순 정렬하기
        // 결과: 2, 3, 5, 6
        Arrays.sort(slicedArray);
        
        // k: 3번째 숫자 추출 -> 5
        // 5 -> index 2
        answer[c] = slicedArray[k-1];
        }
        
        return answer;
        
    }
}

 

 

프로그래머스 문제 링크
Github: K번째 수 풀이코드
[참고 알고리즘 용어]
Arrays.copyOfRange(), 배열자르기
 Arrays.sort(), 오름차순