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 |