Algorithm/Programmers

[프로그래머스] K번째 수 - Java

ikjo 2022. 1. 19. 17:20

문제 설명

 

 

코딩테스트 연습 - K번째수

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr

 

풀이 : Success

소스 코드

import java.util.*;

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

        int[] temp;

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

        return answer;
    }
}

 

풀이 회고

우선 결과값으로 반환할 정수형 배열 answer를 2차원 정수형 배열 commads의 개수 크기만큼 초기화시켜주었다. 이후 자르고난 숫자 배열을 정렬하고 특정 인덱스에 접근하기 용이하도록 정수형 배열 temp를 선언해주었다.

 

2차원 정수형 배열 commands의 각 요소를 순회하면서 copyOfRange를 활용하여 특정 구간을 temp에 저장하고 temp를 오름차순 정렬시킨 후 temp 배열 특정 위치에 있는 값을 정수형 배열 answer에 저장시켰다.

 

 

참고자료

  • https://programmers.co.kr/learn/courses/30/lessons/42748