문제 설명
정수 리스트 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]입니다.
제출 코드 및 설명
class Solution {
public int[] solution(int[] num_list, int n) {
// 결과 배열에 값을 채울 때 사용할 인덱스 카운터
int allocateArrCnt = 0;
// n 간격으로 값을 추출할 때 필요한 배열 크기 계산
// num_list의 길이를 n으로 나누고 올림 처리하여 필요한 정확한 크기 계산
int resultArrSize = (int) Math.ceil((double) num_list.length / n);
// 결과값을 저장할 배열 생성
int[] resultArray = new int[resultArrSize];
// num_list 배열을 순회하면서 n 간격으로 값 추출
for (int i=0; i<num_list.length; i++) {
// i가 0이거나 n의 배수일 때 해당 값을 결과 배열에 저장
if (i == 0 || i % n == 0) {
resultArray[allocateArrCnt] = num_list[i];
allocateArrCnt++;
}
}
return resultArray;
}
}
'코딩테스트 > 프로그래머스 | Lv. 0' 카테고리의 다른 글
[프로그래머스 | JAVA] 카운트 다운 (1) | 2024.12.03 |
---|---|
[프로그래머스 | JAVA] 첫 번째로 나오는 음수 (0) | 2024.12.02 |
[프로그래머스 | JAVA] n번째 원소부터 (0) | 2024.12.02 |
[프로그래머스 | JAVA] 순서바꾸기 (0) | 2024.12.02 |
[프로그래머스 | JAVA] n번째 원소까지 (0) | 2024.12.02 |