프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 배열 만들기 1(Java)

Sigfriede 2023. 4. 29. 03:28

  문제 설명

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

 

  제한사항

  • 1 <= n <= 1,000,000
  • 1 <= k <= min(1,000, n)

 

  입출력 예

n k result
10 3 [3, 6, 9]
15 5 [5, 10, 15]
class Solution {
    public int[] solution(int n, int k) {
        int[] answer = new int[n / k];
        int index = 0;
        for (int i = k; i <= n; i += k) {
            answer[index++] = i;
        }
        return answer;
    }
}

  answer 배열을 생성합니다. n 이하의 정수 중에서 k의 배수를 고르는 것이므로 n / k만큼의 크기로 생성합니다. answer의 index를 지정할 변수를 생성합니다.

  for문이 k부터 n까지 순회합니다. k의 배수를 구하는 문제이므로 i += k로 i가 k만큼 증가합니다. answer 배열의 0번(index)부터 i가 순서대로 할당됩니다. 작은 수부터 증가하여 순서대로 추가되고 있으므로 별도의 정렬은 하지 않았습니다.