Hayden's Archive

[알고리즘] 프로그래머스 : K번째 수 본문

Algorithm

[알고리즘] 프로그래머스 : K번째 수

_hayden 2020. 5. 16. 01:34

알고리즘 문제 출처 : 프로그래머스 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() 메소드를 활용해서 필요한 부분만 잘라서 카피하고 카피한 배열을 오름차순으로 정렬했다.

매번 남의 간결한 코드를 보고 감탄만 하다가 자바 API 뒤적뒤적거리면서 익히게 된 라이브러리 활용해서 코드를 짰는데 가장 상위에 있는 코드와 풀이가 정확히 일치하게 됐다. 알고리즘도 계속 풀다 보면 익숙해지는구나 싶다.

import java.util.Arrays;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];

        for(int i=0; i<commands.length; i++){
            int[] temp = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]);
            Arrays.sort(temp);
            answer[i] = temp[commands[i][2]-1];
        }

        return answer;
    }
}