11. x만큼 간격이 있는 n개의 숫자

class Solution {
    public long[] solution(int x, int n) 
    {
    	// 전달받은 n 만큼의 길이를 가진 long[] 배열 answer 선언
        long[] answer = new long[n];
        // long 자료형 temp에 x값 저장 ( int 자료형은 큰 값이 올 경우 오버플로우 발생 )
        long temp = x;
        // n 만큼 반복하여
        for ( int i = 0; i < n; i++)
        {         
        // answer[i] 번째 인덱스에 반복할 때 마다 temp 값 만큼 증가하는 값을 넣어준다.
          answer[i] = temp * (i +1);
        }
        // answer 반환
        return answer;
    }
}

x * (i + 1) 를 사용하여 저장할 때 int 자료형 크기를 벗어난 큰 값이 될 때 오버플로우가 일어나 잘못된 값이 저장되는 문제를 발견하여 x값을 long 자료형 temp로 변경하여 해결하였다.

좋은 웹페이지 즐겨찾기