문제 설명
정수 리스트 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] |
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer;
if (num_list.length % n == 0) {
answer = new int[num_list.length / n];
} else {
answer = new int[num_list.length / n + 1];
}
int index = 0;
for (int i = 0; i < num_list.length; i += n) {
answer[index++] = num_list[i];
}
return answer;
}
}
answer 배열을 생성합니다. 만약 num_list의 길이를 나눈 나머지가 0이라면, 즉 수가 맞아 떨어진다면 배열의 크기를 num_list를 n으로 나눈 값으로 지정합니다. 그렇지 않다면 배열의 크기를 num_list를 n으로 나눈 값에 1을 더합니다.
배열의 위치가 될 index 변수를 생성합니다. for문이 num_list의 길이만큼 순회하며 i의 값이 n씩 증가합니다. answer의 index번째 위치에 num_list의 i번째 원소를 할당합니다. index가 1씩 증가하며 조건에 해당하는 num_list의 원소가 차례로 채워집니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 할 일 목록(Java) (1) | 2023.05.08 |
---|---|
[프로그래머스 코딩테스트] 5명씩(Java) (0) | 2023.05.08 |
[프로그래머스 코딩테스트] 2의 영역(Java) (0) | 2023.05.07 |
[프로그래머스 코딩테스트] 가까운 1 찾기(Java) (0) | 2023.05.07 |
[프로그래머스 코딩테스트] qr code(Java) (0) | 2023.05.07 |