본문 바로가기

Algorithm/Programmers

Level 0: n 번째 원소부터 배열 자르기

이 문서의 내용

    문제 설명

    정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.

    • 2 ≤ num_list의 길이 ≤ 30
    • 1 ≤ num_list의 원소 ≤ 9
    • 1 ≤ n ≤ num_list의 길이
    더보기

    입력#1 예시

    num_list = [2, 1, 6]
    n = 3

    출력#1 예시

    [6]

    제공되는 기본 코드는 다음과 같습니다.

    class Solution {
        public int[] solution(int[] num_list, int n) {
            int[] answer = {};
            return answer;
        }
    }

    문제 풀이: Arrays 클래스를 사용한 풀이

    별도의 Collections 등을 사용하지 않으면 로직은 복잡해집니다.

    class Solution {
        public int[] solution(int[] num_list, int n) {
            int[] answer = new int[num_list.length - (n - 1)];
            int j = 0;
            for (int i = n - 1; i < num_list.length; ++i)
                answer[j++] = num_list[i];
            return answer;
        }
    }

    동일한 실행 결과를 Arrays 클래스로 단순화합니다.

    import java.util.Arrays;
    
    class Solution {
        public int[] solution(int[] num_list, int n) {
            return Arrays.copyOfRange(num_list, n - 1, num_list.length);
        }
    }