[JAVA] Arrays.copyOf / Arrays.copyOfRange

ํšฝยท2024๋…„ 5์›” 5์ผ

๐Ÿ“ copyOf & copyOfRange

1. Arrays.copyOf(๋ฐฐ์—ด, ๋ณต์‚ฌํ•  ๊ธธ์ด)

์ง€์ •ํ•œ ๋ฐฐ์—ด์„ ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ ์›ํ•˜๋Š” ๊ธธ์ด๋งŒํผ ๋ณต์‚ฌํ•œ๋‹ค.
์›๋ณธ ๋ฐฐ์—ด์ด ์ž…๋ ฅํ•œ ๊ธธ์ด๋ณด๋‹ค ํด ๊ฒฝ์šฐ ์ž…๋ ฅํ•œ ๊ธธ์ด ์ดํ›„์˜ ์ธ๋ฑ์Šค๋Š” ์ œ๊ฑฐ๋˜์–ด ๋ณต์‚ฌใ…“๋˜๊ณ , ์›๋ณธ ๋ฐฐ์—ด์ด ์ž…๋ ฅํ•œ ๊ธธ์ด๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค ์ดํ›„์˜ ๊ฐ’์€ ๋ฐฐ์—ด์˜ ํƒ€์ž… ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ๋ณต์‚ฌ๋œ๋‹ค.

2. Arrays.copyOfRang(๋ฐฐ์—ด, ์‹œ์ž‘ ์ธ๋ฑ์Šค, ๋ ์ธ๋ฑ์Šค)

์ง€์ •ํ•œ ๋ฐฐ์—ด์—์„œ ํŠน์ • ๋ฒ”์œ„๋งŒํผ์˜ ์š”์†Œ๋“ค์„ ๋ณต์‚ฌํ•ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ณต์‚ฌํ•  ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ๋ณต์‚ฌ๋ฅผ ๋๋‚ผ ์ธ๋ฑ์Šค๋กœ ์ž…๋ ฅํ•œ ๊ธธ์ด๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ์›๋ณธ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ์ดํ›„์˜ ๊ฐ’์€ ๋ฐฐ์—ด์˜ ํƒ€์ž… ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ๋ณต์‚ฌ๋œ๋‹ค.

3. java ๊ตฌํ˜„

import java.util.Arrays
int[] Arr = Arrays.copyOfRange(๋ฐฐ์—ด์ด๋ฆ„, ์‹œ์ž‘์ธ๋ฑ์Šค, ๋์ธ๋ฑ์Šค);
Arrays.sort(Arr);

4. ๋ฌธ์ œ ๋งํฌ :

// ์›๋ž˜ ์ž‘์„ฑํ–ˆ๋˜ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•œ ์ฝ”๋“œ
int start = commands[k][0]-1;
int end = commands[k][1]-1;
int[] Arr = new int[end-start+1];
int j=0;
for (int i=start; i<=end ; i++){
	Arr[j++] = array[i];
}
// copyOfRange()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ
int[] Arr = Arrays.copyOfRange(array, commands[k][0]-1, commands[k][1]);
Arrays.sort(Arr);

0๊ฐœ์˜ ๋Œ“๊ธ€