알고리즘/프로그래머스

x만큼 간격이 있는 n개의 숫자(JAVA)

mrban 2022. 1. 15. 14:03

1. 문제

정수 x와 n을 매개변수로 하여 x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴하는 함수를 만드시오. 예를 들어 x가 3이고 n이 4이면 {3, 6, 9, 12}를 리턴하면 된다.

 

2. 제한
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
 
3. 정답
class Solution {
    public long[] solution(int x, int n) {
//         배열의 크기를 n으로 만드는 코드.
        long[] answer = new long[n];

        for(int i = 0; i < n; i++){
            answer[i] = (long)x * (i+1);
        }
        return answer;
    }
}

4. 설명

4-1. 배열의 크기가 n인 answer 배열을 만든다.

4-2. n만큼 for문을 돌리면서 answer[0]부터 answer[n-1]까지 x * 1, x * 2, ....., x*n 한 값을 넣어준다.

4-3. answer값을 return한다.

 

5. 참고

5-1. x가 10000000이고 n이 1000이라면 제일 큰 값으로 x*n = 10,000,000,000이 될 수 있기 때문에 answer 배열은 long형으로 해줘야한다. 현재 x와 i가 int형이므로 오류가 나지 않기 위해서 x를 long형으로 명시적으로 바꿔줌으로써 x * (i+1)이 자동적으로 형변환이 일어날 수 있게 해준다.

'알고리즘 > 프로그래머스' 카테고리의 다른 글

행렬의 덧셈(JAVA)  (0) 2022.01.15
핸드폰 번호 가리기(JAVA)  (0) 2022.01.15
평균구하기(JAVA)  (0) 2022.01.15
없는숫자더하기(JAVA)  (0) 2022.01.15
문자열을 정수로 가져오기(JAVA)  (0) 2022.01.15