반응형

문제 설명

 

정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항

 

5 ≤ num_list의 길이 ≤ 20

1 ≤ num_list의 원소 ≤ 9

1 ≤ n ≤ 4


입출력 예

 

num_list n result
[4, 2, 6, 1, 7, 6] 2 [4, 6, 7]
[4, 2, 6, 1, 7, 6] 4 [4, 7]

입출력 예 설명

 

입출력 예 #1

[4, 2, 6, 1, 7, 6]에서 2개 간격으로 저장되어 있는 원소들은 [4, 6, 7]입니다.

 

입출력 예 #2

[4, 2, 6, 1, 7, 6]에서 4개 간격으로 저장되어 있는 원소들은 [4, 7]입니다.


풀이

 

-> 먼저 num_list의 길이와 n을 가지고 선언할 answer배열이 길이를 구한다. 이 때, num_list를 n으로 나눈 나머지가 있으면 나눈값에서 +1을 해주고, 나눈 나머지가 0이면 그대로 나눈 값을 길이인 length로 둔다. 그다음 answer배열을 선언해주고 length 만큼의 반복문을 통해 result배열에 값들을 담아준다.


코드

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = {};
        int length = num_list.length%n==0?num_list.length/n:num_list.length/n+1;
        answer = new int[length];
        for(int i=0;i<length;i++){
            answer[i]=num_list[n*i];
        }
        return answer;
    }
}

 

반응형

+ Recent posts