개발일지

[Java] 배열 복사 (copyOf(), copyOfRange()) 본문

Java/알고리즘 공부

[Java] 배열 복사 (copyOf(), copyOfRange())

O'mil 2023. 7. 1. 01:38
728x90

알고리즘 문제를 푸는데 결과값이 [1, 2]로 출력해야 하는데 [1, 2, 0, 0, 0]으로 출력되는 오류가 있었다.

뒤에 0들을 어떻게 제거할 수 있을까 생각했다.

 

  • substring

첨엔 substring을 사용하려고 했는데 substring은 배열로 출력되지 않아 맞지 않다고 판단 되었다.

 

그래서 찾은게 copyOf()다.


1. copyOf()

Array.copyOf([배열], [원하는 길이]);

int[] arr = {1, 2, 3, 4, 5, 6};
int[] arr2 = Arrays.copyOfRange(arr, 1, 3);

System.out.println(Arrays.toString(arr2));

출력: [1, 2, 3]

 

2. copyOfRange()

Array.copyOfRange([배열], [시작지점], [끝지점]);

int[] arr = {1, 2, 3, 4, 5, 6};
int[] arr2 = Arrays.copyOfRange(arr, 1, 3);

System.out.println(Arrays.toString(arr2));

출력: [2, 3]

* 시작지점부터 끝지점 앞까지 출력됨! 꼭 한 번 더 확인할 것!!


참고: https://taeil00.tistory.com/193

728x90
Comments