프로그래머스/Lv. 1

[프로그래머스 코딩테스트] x만큼 간격이 있는 n개의 숫자(Java)

Sigfriede 2023. 4. 3. 02:23

  문제 설명

  함수 solution은 정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

  제한사항

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

 

  입출력 예

x n answer
2 5 [2, 4, 6, 8, 10]
4 3 [4, 8, 12]
-4 2 [-4, -8]
class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        for (int i = 0; i < n; i++) {
            answer[i] = (long)x * (i + 1);
        }
        return answer;
    }
}

  숫자를 n개 지니는 리스트를 반환해야 하므로, 리스트의 길이는 n개입니다. for문은 i가 n보다 작을 때 순회합니다. answer는 배열이므로 바로 할당해주면 됩니다. x와 i는 int형이므로 long형인 answer 배열에 맞게 형변환(캐스팅)을 해주었습니다. 또한 i는 0부터 시작하므로 x * i를 할 때, i에 1씩 더해주어야 정상적으로 값을 출력할 수 있습니다. 우리가 원하는 값은 x * 0이 아닌, x * 1부터니까요.