
이 문제는 정수 x와 n을 입력받고 x부터 시작해 x씩 증가하는 숫자를 출력하는 문제이다.
long[] answer= new long[n]으로 배열을 만들고 x = 0 에서부터 x가 n이 되기 전까지 만큼의 간격이 있는 n개의 수를 구해야 한다. 그래서 x = x * (i+1) 등차수열의 개념으로 접근해야한다. 그런데 x 앞에 (long)을 붙이는 이유는 x는 int로 취급되기 때문에 int 범위를 초과해서 오버플로우가 발생할 가능성이 있음. 따라서 x앞에 (long)으로 형변환 시켜줘야한다.
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;
}
}
임의로 x = 2, n = 5의 값을 주고 main함수를 실행시켰다.
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
int x = 2;
int n = 5;
long[] result = sol.solution(x, n);
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
}

2x1, 2x2, 2x3, 2x4, 2x5가 출력되는 것을 볼 수 있다.


안녕하세요~! 개발 및 취준 관련 게시물 있습니다! 놀러오세용!! o(^@^)o o(^@^)o