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
오늘은 'K번째 수' 라는 코딩테스트 연습문제를 풀면서 배운것 기록입니다.
코딩 입문자인 저에겐 아직 어려운 문제이기에,
다른사람의 풀이를 보았더니 Arrays.copyOfRange 메소드를 이용하셨더라구요.

Arrays.copyOfRange(복사하고자 하는 배열, 시작위치, 배열크기)
배열복사 메소드
전달받은 배열의 지정된 범위에 해당하는 요소만 새로운 배열로 복사하여 반환한다.
예제
int[] arr1 = { 1, 2, 3, 4, 5, };
int[] arr3 = Arrays.copyOfRange(arr1, 0, 3);
for( int i=0; i<arr3.length; i++) {
System.out.println(arr3[i] + " ");
}
출력되는 값은 1 2 3
시작위치 index[0] 이기에 1 이고, 배열크기는 3 이라서 index[0]~[2]
그리고 복사받는 배열(arr3)이 복사하려는 배열(arr1)보다 범위가 크게 지정되면
해당하는 초과범위는 배열타입의 default값이 들어갑니다
예제
int[] arr1 = { 1, 2, 3, 4, 5 }; // 크기 5
int[] arr3 = Arrays.copyOfRange(arr1, 0, 6); // index[0], 크기는 6
for(int i=0; i<arr3.length; i++) {
System.out.println(arr3[i] + " ");
}
출력되는 값은 1 2 3 4 5 0 원래 배열의 크기5를 초과했기에 default값으로 0 이 들어감.
끝~~~~
'코딩 테스트 > 문제' 카테고리의 다른 글
| [코딩 테스트] 배열 만들기 2 (2) | 2024.12.28 |
|---|---|
| [백준 2588번] 곱셈 (0) | 2021.04.24 |
| [같은 숫자는 싫어] .intValue( ), Casting(형변환) (2) | 2021.04.15 |
| [두개 뽑아서 더하기] Arrays.sort() 배열 정렬, length() / size() 비교 (1) | 2021.04.10 |
| [완주하지못한 선수] getOrDefault, 컬렉션 프레임워크 (3) | 2021.04.09 |