Q. 배열과 한 개의 요소를 입력받고, 입력받은 배열의 제일 앞에 입력받은 요소를 넣고 그 배열을 리턴하기.
입력 : int[]
출력 : int[]
내가 작성한 코드
|
1
2
3
4
5
6
7
8
|
public class Solution {
public int[] addToFront(int[] arr, int el) {
int[] newarr = new int[arr.length+1];
newarr[0] = el;
System.arraycopy(arr, 0, newarr, 1, arr.length);
return newarr;
}
}
|
cs |
나의 로직 및 생각
- 입력받은 요소를 제일 앞 index에 넣어야하기 때문에 Arrays.copyOf 메서드는 사용할 수 없다.
- System.arraycopy() 메서드를 사용한다.
알아야 할 것
System.arraycopy(src, srcPos, dest, destPos, length)
- Object src : 복사하고자 하는 원본 소스.
- int sfcPos : 원본 소스의 몇번 index부터 데이터를 읽어올 것인지 위치를 정함.
- Object dext : 붙여넣기를 할 대상.
- int dextPos : 붙여넣기 하는 대상의 몇번 index에서부터 붙여넣기를 할 것인지 시작위치를 정함.
- int length : 원본에서 붙여넣기를 할 데이터의 길이를 정함.
이 메서드를 사용하면 붙여넣기를 할 대상을 실제로 수정한다. (write가 가능하다는 뜻.)
'Code 문제 풀이(Java)' 카테고리의 다른 글
| 입력 받은 숫자가 홀수 인지 여부를 확인하기 (0) | 2022.12.23 |
|---|---|
| 숫자 2 부터 특정 자연수 까지의 모든 소수(prime number)들을 모으기 (0) | 2022.12.23 |
| 소수(prime number)여부 판별하기 (0) | 2022.12.23 |