programmers
[프로그래머스] 배열 자르기
대장형아
2023. 11. 19. 17:57
파이썬 풀이
def solution(numbers, num1, num2):
answer=numbers[num1:num2+1]
return answer
answer 에 numbers 배열의 슬라이싱을 바로 해준다.
[시작지점:종료지점] 이므로
종료지점의 값을 포함해서 가져오기 위해 num2에 +1 을 해주었다.
자바 풀이
class Solution {
public int[] solution(int[] numbers, int num1, int num2) {
int length = num2-num1+1;
int [] answer = new int[length];
System.arraycopy(numbers, num1, answer,0,length);
return answer;
}
}
System의 arraycopy() 메소드를 사용하였다.
배열을 복사하는 간단한 방법이다.
System.arraycopy(원본배열, 원본배열 복사할 시작 인덱스, 새배열, 새배열 붙여넣기 시작인덱스, 복사 항목수)
원본배열 numbers
원본배열 복사 시작 인덱스 : num1
새 배열 : answer
새 배열 붙여넣기 시작 인덱스 : 0
복사항목수 : length
System.arraycopy(numbers, num1, answer,0,length);
처음에 for문으로 배열에 넣어주게 하였는데 책에서 배열복사에 copy...어쩌구 가 있었던게 생각나서 적용해 보았다.