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

서연·2025년 5월 1일

Java

목록 보기
35/36

🧩 문제 설명

함수 solution은 정수 x자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

⚠️ 제한 조건

  • x-10000000 이상, 10000000 이하인 정수입니다.
  • n1000 이하인 자연수입니다.

📄 입출력 예

xnanswer
25[2,4,6,8,10]
43[4,8,12]
-42[-4, -8]

💻 내 코드

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        long num = x;
        for(int i = 0; i<answer.length; i++){
            answer[i] = num+(num*i);
        }
        return answer;
    }
}

💡 풀이

처음에 int x를 그대로 사용하였더니 테스트13번과 14번에서 실패하였다. 이유를 찾아보니 x*i 계산 시 int 범위를 초과해 오버플로우가 발생하기 때문이었다. 이를 해결하기 위해 xlong 타입으로 변환하여 연산하였더니 통과하였다.

0개의 댓글