[Java] K번째 수

allzeroyou·2025년 1월 21일
0

Java-Algorithm

목록 보기
8/26
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=java

문제설명

배열 array의 i번째~j번째 숫자까지 자르고, 정렬 했을때 k번째 있는 수?

풀이

  1. commands 2차원 배열 순회

  2. array 배열에서 i번째~j번째 숫자 자르기

  • Arrays.copyOfRange(array, i,j): i번째 인덱스부터 j-1번째 인덱스까지 자르는 메소드
  1. 자른 배열 정렬하기.
  • Arrays.sort()
  1. 해당 배열에서 k번째 수 return
  • index화해서 k-1를 구함에 주의
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[] cur =commands[i];
            int[] subArr = Arrays.copyOfRange(array, cur[0]-1,cur[1]);
            Arrays.sort(subArr);
            
            answer[i]=subArr[cur[2]-1];
        }
        
        return answer;
    }
}
profile
모든 건 zero 부터, 차근차근 헛둘헛둘

0개의 댓글