함수 solution은 정수 x와 자연수 n을 입력 받아,
x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다.
다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12954
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for(int i=0;i<n;i++){
answer[i]=x*(i+1);
}
return answer;
}
}
실행결과는 통과인데, 제출하면 테스트13,14에서 에러가 뜸.
왜지? 모든 숫자에 적용되지 않는다는 말.
제한사항 보기.
아! 데이터형태때문이구나 싶음
x의 맥시멈 = 10,000,000
n의 맥시멈 = 1,000
int의 범위는 약 -20억~+20.
answer[999]= 10,000,000,000
int의 범위가 훨씬 넘으니 19자리인 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;
}
}