포스트

배열 자르기

https://school.programmers.co.kr/learn/courses/30/lessons/120833

문제

  • 문제 풀이

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
      import java.util.*;
        
      class Solution {
          public int[] solution(int[] numbers, int num1, int num2) {
              List<Integer> result = new ArrayList<>();
                
              for (int i = num1; i <= num2; i++) {
                  result.add(numbers[i]);
              }
                
              return result.stream().mapToInt(Integer::intValue).toArray();
          }
      }
    


    • 원본 배열과 자를 범위를 지정하여 copyOfRange() 메서드를 사용하는 방법을 적용

      1
      2
      3
      4
      5
      6
      7
      
        import java.util.Arrays;
              
        class Solution {
            public int[] solution(int[] numbers, int num1, int num2) {
                return Arrays.copyOfRange(numbers, num1, num2 + 1);
            }
        }
      
      • Arrays.copyOfRange()은 배열의 일부분을 복사할 때 사용된다. 여기서 num1num2는 원본 배열의 인덱스이므로, Arrays.copyOfRange() 함수의 첫 번째 매개변수로는 복사할 원본 배열numbers 가 들어가야 한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.