티스토리 뷰
파이썬 풀이
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...어쩌구 가 있었던게 생각나서 적용해 보았다.
'programmers' 카테고리의 다른 글
[프로그래머스] 피자 나눠먹기 (1) (0) | 2023.11.19 |
---|---|
[프로그래머스] 순서쌍의 개수 (0) | 2023.11.19 |
[프로그래머스] 삼각형의 완성조건(1) (0) | 2023.11.19 |
[프로그래머스] 짝수 홀수 개수 (0) | 2023.11.19 |
[프로그래머스] 옷가게 할인 받기 (0) | 2023.11.19 |