[Cording Test] 프로그래머스 - K번째수 (정렬)
2019. 8. 1. 16:39ㆍGo 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가 가능
'Go to 알고리즘천재 > 정렬' 카테고리의 다른 글
[Coding Test] 프로그래머스 - 완주하지 못한 선수 (0) | 2019.08.19 |
---|---|
[Cording Test] 프로그래머스 - 가장 큰 수 (정렬) (0) | 2019.08.01 |
1. 정렬 알고리즘 (0) | 2019.08.01 |