프로그래머스 181888번 n개 간격의 원소들 - Python, Java
문제 설명
정수 리스트 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]