[프로그래머스] x만큼 간격이 있는 n개의 숫자

문제 자체는 쉬웠지만 자칫 그냥 써버릴 수 있는 int 타입이 입력 변수 범위가 제한조건에 걸려 테스트케이스에서 실패를 했었던 문제다.

1
2
3
4
5
6
7
8
9
10
class Solution {
public long[] solution(long x, int n) {
long[] answer = new long[n];

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

핵심 연산을 해주는 answer[i] = x*(i+1) 에서 반복문을 세주는 i가 int형이고 만약 x도 int형일 때 x*(i+1) 연산에서 answer[i] 값은 곱했을 때 당연히 int가 된다. (배열 선언은 long으로 해줬으면서 말이다.) 그래서 answer 배열은 n만큼 할당해줘야 하기에 solution의 변수 n을 int로 놔뒀고, 제한조건 범위 내의 연산을 위해(long 타입 연산을 위해) long 타입으로 바꿨다.

Author

MoonDoni

Posted on

2020-02-07

Updated on

2020-02-11

Licensed under

댓글