웹 프로그래밍

[프로그래머스(programmers)] x만큼 간격이 있는 n개의 숫자 - JAVA 본문

프로그래머스/level1

[프로그래머스(programmers)] x만큼 간격이 있는 n개의 숫자 - JAVA

B. C Choi 2021. 10. 12. 21:11

문제 설명

 

함수 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]

풀이

'입출력 예'에서 answer의 요소를 보면 첫 번째 수(x), x*(index+1),,, x*(index+n) 이런 식으로 나열됩니다.

따라서, answer[i] = x*(index+1) 값을 넣어주면 되는데,

여기서 int의 값의 범위는 –2,147,483,648 ~ 2,147,483,647 입니다.
그런데 x의 값이 10000000, n의 값이 1000이라면 100억까지 수가 늘어날 수 있습니다.

그래서 x의 타입은 int값이 아닌 long값으로 변경하여 코드를 작성할 수 있도록 합니다.

class Solution {
    public long[] solution(long x, int n) {
        long[] answer = new long[n];
        
        for(int i = 0; i < answer.length; i++) {
            answer[i] = x*(i+1);
        }
        return answer;
    }
}