코딩테스트/프로그래머스_코딩 기초 트레이닝

[프로그래머스] 배열 만들기 1

아리빠 2023. 6. 1. 19:22

정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요

 

 

<생각과정>

 

1이상 n이하의 정수중 k배수 저장이니까 

배열 생성 선언 해주고, i%k ==0 이라면 배열에 저장하면 되겠다 싶음 

   class Solution {
    public int[] solution(int n, int k) {

        int[] answer = new int[];
        int a = 0; 
        
        for(int i = 1; i <= n; i++){
           
            if(i % k == 0){
                answer[a++] = i;
            }
        }
        return answer;
    }
}

배열 크기 선언 안해서 오류난듯 

 

   class Solution {
    public int[] solution(int n, int k) {

        int[] answer = new int[n];
        int a = 0; 
        
        for(int i = 1; i <= n; i++){
           
            if(i % k == 0){
                answer[a++] = i;
            }
        }
        return answer;
    }
}

...? 이게 왜 

 

   class Solution {
    public int[] solution(int n, int k) {

        int[] answer = new int[n/k];
        int a = 0; 
        
        for(int i = 1; i <= n; i++){
           
            if(i % k == 0){
                answer[a++] = i;
        
            }
        }
        return answer;
    }
}

배열 크기 제한하려고 막 쓰다가 얻어 걸렸다 왜 저게 가능한지는 생각해 봐야겠다