[Cording Test] 프로그래머스 - K번째수 (정렬)

2019. 8. 1. 16:39Go to 알고리즘천재/정렬

문제


배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 

*예시

...더보기

 

array commands return
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

 

 

나의 답안


import java.util.Arrays;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
        
        int row = commands.length;            // commands[][] 행 개수    	
    	
    	int answer[] = new int[row];
    	    	
    	for(int r = 0; r < row; r++) {
    		// tmp = {5, 2, 6, 3}
    		int start = commands[r][0] - 1;
    		int end = commands[r][1] - 1;
    		int idx = commands[r][2] - 1;

    		int tmplen = end - start + 1;    //자를 배열 크기
    		int[] tmp = new int[tmplen];     // 자를 배열 저장 공간

    		for(int i = 0; i < tmplen; i++) {
    			tmp[i] = array[start+i];     //배열 자르기
    		}
    		// tmp = {2, 3, 5, 6}
    		Arrays.sort(tmp);                //정렬 (오름차순)
    		
    		answer[r] = tmp[idx];
    		
    	}
    	
		return answer;
        
    }

}

 

사용 개념


 

- import java.util.*

 

1 오름차순 정렬

 

Arrays.sort(배열)

- 배열을 오름차순 정렬

- 배열의 값으로 int, float, double, char, String가 가능

 

Collection.sort(리스트)

- 리스트를 오름차순 정렬

- 리스트의 값으로 Integer, Double, String가 가능

 

 

2 내림차순 정렬

 

Arrays.sort(배열, Collections.reverseOrder())

- 배열을 내림차순 정렬

- 배열의 값으로 Integer, Double, String가 가능

 

Collections.reverse(리스트)

- 리스트를 내림차순 정렬

- 리스트의 값으로 Integer, Double, String가 가능