PS/LV.1 프로그래머스 문제

[프로그래머스] LV.1 x만큼 간격이 있는 n개의 숫자 - 자바 [11/80]

yaho!! 2024. 7. 16. 23:36

💬 문제 설명

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

 

🚫 제한 사항

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

 

📢 입출력 예

 

📃 제출 코드

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

 

✏ 해결방법 & 배운점

배열 선언 및 초기화

  • 문제에서 숫자 `n`개가 포함된 리스트를 다루기로 했으므로, 길이가 `n`인 `answer` 배열을 초기화했습니다.

배열 값 설정

  • for문을 이용하여 `answer` 배열의 길이만큼 반복합니다.
  • `x` 와 (`i` + 1) 을 곱한 결과를 `answer[i]`에 저장합니다.
    • x = 5 , n = 3 일경우
    • answer[0] = 5 * (0 + 1)
    • answer[1] = 5 * (1 + 1)
    • answer[2] = 5 * (2 + 1)
  • 숫자와 반복횟수가 늘어나면 오버플로우가 발생할 수 있으므로 `x`를 long타입으로 형변환하였습니다.