[프로그래머스] Lv.0 n개 간격의 원소들

이다혜·2023년 10월 18일
0

프로그래머스

목록 보기
5/61
post-thumbnail

📎 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/181888

📌 문제 설명

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

❓ 풀이 방법

먼저 원소를 담을 정답 배열의 크기를 정해야 합니다.
두 가지 경우가 있는데 원래 배열의 길이가 간격인 n으로 나누어 떨어지는 경우와 나누어 떨어지지 않는 경우가 있습니다.
나누어 떨어지지 않을 때는 원래 배열의 길이를 n으로 나눈 몫에 1을 더해야 index 범위 에러가 생기지 않습니다.
또한, for문을 n간격으로 돌아서 반복문의 반복 횟수를 줄였습니다.

💻 Code

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

0개의 댓글