티스토리 뷰

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...어쩌구 가 있었던게 생각나서 적용해 보았다.

«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
최근에 올라온 글
Total
Today
Yesterday