함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
def solution(x, n):
answer = [0]*n
for i in range(n):
answer[i] = x*i+x;
return answer
초기화를 해주지 않고.. 배열로 만들로 append해줄까 했는데..
append를 해주면 시간복잡도가 늘어서 공간복잡도가 많은 초기화를 해주고 넣어주기로했다.
def solution(x, n):
return [i * x + x for i in range(n)]
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for (int i=0; i<n; i++){
answer[i] = i*x + x;
}
return answer;
}
}
실패한 이유
x:10000000, n:1000으로 두고 돌려보면 int 범위를 벗어나는 숫자들이 음수가 되버리는 결과가 나온다. 그렇기 때문에 곱해주는 연산은 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)i*x + x;
}
return answer;
}
}