현재노트

[프로그래머스] K번째수(Java) - Level1 본문

코딩테스트

[프로그래머스] K번째수(Java) - Level1

현재노트 2021. 8. 7. 13:26

문제링크

 

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

 

문제내용

 

solution

public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];;
        int[] splitArr;

        for(int i=0;i<commands.length;i++){
            splitArr = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]);

            Arrays.sort(splitArr);
            answer[i] = splitArr[commands[i][2]-1];
        }
        
        
        return answer;
    }

 

Arrays 라이브러리에서 제공하는 copyOfRange의 기능을 활용하여 i번째 숫자부터 j번째 숫자까지 자르는 과정을 진행합니다.

 

이후, 위에서 자른 배열을 정렬해준 이후 k번째 숫자를 추출하여 배열에 추가합니다.

 

* answer배열의 크기는 commands의 갯수만큼 들어가므로 commands의 갯수로 초기화합니다.

 

Comments