
문제가 쉬워보였으나, 간과한 부분이 있었다.
- x는 충분히 크다. n은 크지 않지만, 곱하면 꽤 크다. 그래서 둘이 곱하면 int범위 (대략 +-21억)을 초과한다.
- 따라서 long으로 적절히 cast해줘야하는데, 주의할 점은 (long)int * int는 OK,
(long)(int*int)는 cast 이전에 두 수의 곱이 int로 한번 반환되므로 에러가 발생한다.
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;
}
}
'프로그래머스 문제풀이 > Level 1' 카테고리의 다른 글
| 두 정수 사이의 합 (자바, Java) (0) | 2022.12.23 |
|---|---|
| 나머지가 1이 되는 수 찾기 (자바, Java) (0) | 2022.12.23 |
| 정수 내림차순으로 배치하기 (자바, Java) (0) | 2022.12.22 |
| 정수 제곱근 판별 (자바, Java) (0) | 2022.12.17 |
| 자연수 뒤집어 배열로 만들기 (자바, Java) (0) | 2022.12.17 |