Algorithm/programmers

programmers K번째수

wow 2022. 3. 13. 21:24

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

 

 

문제 분석

- 배열을 i부터 j까지 자르고 k번째 수를 구한다.

 

 

문제 풀이

1. for문을 통해 입력받은 배열(commands)를 처리한다..

2. for문을 통해 시작(start)부터 끝(end)까지 list에 담는다.

3. list에 담긴 숫자들을 정렬하여 k번째 숫자를 정답에 추가한다.

import java.util.*;
    
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
        ArrayList<Integer> list = new ArrayList<>();
        
        for(int i=0;i<commands.length;i++){
            int start = commands[i][0];
            int end = commands[i][1];
            int k = commands[i][2];
            
            for(int j=start-1;j<end;j++){ 
                list.add(array[j]);
            }
            
            Collections.sort(list);
            answer[i] = list.get(k-1);
            
            list.clear();
        }
        
        return answer;
    }
}

 

 

https://github.com/SOEUN2/Algorithm