비버놀로지

[Programmers 프로그래머스] 42748 K번째수 본문

ALGORITM/JAVA

[Programmers 프로그래머스] 42748 K번째수

KUNDUZ 2021. 1. 7. 10:19
728x90

 

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

commands 에서 i=2, j=5, k=3 이면 배열에서 2번에서 5번 사이에서 3번째 값을 저장을 시키는 문제이다.

여기서 배열을 복사를 해주고, 복사한 배열을 정렬한후 3번째 값을 꺼낸다.

 

import java.util.Arrays;

public class K번째수 {
	public static void main(String[] args) {
		int[] array = { 1, 5, 2, 6, 3, 7, 4 };
		int[][] commands = { { 2, 5, 3 }, { 4, 4, 1 }, { 1, 7, 3 } };

		int answer[] = new int[commands.length];

		for (int i = 0; i < commands.length; i++) {	//배열을 복사해서 정렬을 해주고 결과값을 넣어준다.
			int[] temp = Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]);
			Arrays.sort(temp);
			answer[i] = temp[commands[i][2] - 1];
		}
		System.out.println(Arrays.toString(answer));

	}
}
728x90
Comments