[Java] 배열 복사하는 방법 ( feat. System.arraycopy() & Arrays.copyOf() )
배열을 복사하는 방법은 크게 2가지가 있다. 1. System.arraycopy( 복사할 배열 원본, 시작 위치, 복사 당할 배열, 시작 위치, 복사할 개수 ) int[] test = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int[] copied = new int[5]; System.arraycopy(test, 0, copied, 0, 5); System.out.println(Arrays.toString(copied)); // [ 1, 2, 3, 4, 5 ] System.arraycopy( ) 는 복사를 시작할 위치와 복사할 개수를 매개변수로 지정한다. 2 - 1. Arrays.copyOf( 복사할 배열 원본, 복사할 개수 ) int[] test = {1, 2, 3, 4, 5, 6, 7, 8..
[프로그래머스] (Lv.1) K번째수 *
문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. - 출력 예시 - 정답 코드 class Solution { pub..
[프로그래머스] (Lv.1) 같은 숫자는 싫어 *
문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 같고 ..