최대 1 분 소요

문제 설명

프로그래머스 181888번 n개 간격의 원소들

정수 리스트 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]입니다.

코드 구현

Python

def solution(num_list, n):
    answer = []

    for i in range(0, len(num_list), n):
        answer.append(num_list[i])

    return answer

Java

import java.util.ArrayList;

class Solution {
    public int[] solution(int[] num_list, int n) {
        ArrayList<Integer> answer = new ArrayList<>();
        
        for (int i = 0; i < num_list.length; i += n) {
            answer.add(num_list[i]);
        }
        
        return answer.stream().mapToInt(i -> i).toArray();
    }
}

배운 점 - Python

  • 배열 슬라이싱에서 첫 인덱스 값과 마지막 인덱스 값을 비울 수 있다.
def solution(num_list, n):
    return num_list[::n]