본문 바로가기

알고리즘 테스트 공부

배열만들기 1

import java.util.*;
class Solution {
    public ArrayList<Integer> solution(int n, int k) {
        ArrayList<Integer> answer = new ArrayList<>();
        int i = 0;
        while(i <= n-k){
            i += k;
            answer.add(i);
        }
        return answer;
    }
}

 

리턴타입 int[]로 받으려면

import java.util.*;

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

        List<Integer> list = new ArrayList<>();

        for(int i=k; i<=n; i+=k) list.add(i);

        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

 

 

 

다른풀이!!

 class Solution {
    public int[] solution(int n, int k) {
        int count = n / k;


        int[] answer = new int[count];

        for (int i = 1; i <= count; i++) {
            answer[i - 1] = k * i;
        }

        return answer;
    }
}

 

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int n, int k) {
        return IntStream.rangeClosed(1, n).filter(i -> i % k == 0).toArray();
    }
}

 

class Solution {
    public int[] solution(int n, int k) {
        int[] answer = new int[n/k];
        for(int i = 1; i<=n; i++){
            if(i%k==0){
                answer[i/k-1]=i;
            }
        }
        return answer;
    }
}

'알고리즘 테스트 공부' 카테고리의 다른 글

qr code  (0) 2024.04.02
세로읽기  (0) 2024.04.01
문자열 뒤집기  (0) 2024.03.31
문자열 다루기 기본  (0) 2024.03.31
배열만들기 6  (0) 2024.03.30