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

'Algorithm > programmers' 카테고리의 다른 글

programmers 소수 만들기  (0) 2022.03.13
programmers 완주하지 못한 선수  (0) 2022.03.13
programmers 모의고사  (0) 2022.03.13
programmers 체육복  (0) 2022.03.13
programmers 폰켓몬  (0) 2022.03.13