본문 바로가기

프로그래머스 - JAVA

코딩테스트 연습 > 정렬 > K번째수

기존 코드

import java.util.*;

class Solution {
    public Integer[] solution(int[] array, int[][] commands) {
        ArrayList<Integer> valArrayList = new ArrayList<>();
        ArrayList<Integer> ansArrayList = new ArrayList<>();
        
        for(int[] command : commands){
            valArrayList.clear();
            for(int val : Arrays.copyOfRange(array, command[0] - 1, command[1])){
                valArrayList.add(val);
            }

            Collections.sort(valArrayList);
            ansArrayList.add(valArrayList.get(command[2]-1));
        }
        
        Integer[] answer = ansArrayList.toArray(new Integer[ansArrayList.size()]);
        
        return answer;
    }
}

최근 코드

import java.util.*;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
        for (int i = 0 ; i < commands.length ; i++){
            int [] arr = Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]);
            Arrays.sort(arr);
            answer[i] = arr[commands[i][2] - 1];
        }
        return answer;
    }
}