숑숑이의 개발일기

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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

 

풀이

처음 answer 배열의 길이를 num_list 배열의 길이 - n + 1값으로 선언해주었다. 그 후 초기식과 증감식이 2개인 반복문을 순회하면서 answer 배열의 0번 index부터 값을 넣어주었다

 

코드

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

 

또는 Array 클래스의 메서드를 사용하여 아래와도 풀수 있다

 

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

Arrays.copyOf(복사할 배열, 복사할 길이)

Arrays.copyOfRange(복사할 배열, 시작인덱스, 끝인덱스)

위 두개 메서드를 잊지말자..!

profile

숑숑이의 개발일기

@숑숑-

풀스택 개발자 준비중입니다