본문 바로가기
프로그래머스

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

by 뿌비 2024. 7. 3.
728x90

🔥 문제 설명

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

 

🔥 제한 조건

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

 

🔥 입출력 예

x n answer
2 5 [2,4,6,8,10]
4 3 [4,8,12]
-4 2 [-4, -8]

 


🔥 코드

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

🔥 문제 풀이 과정

  1. 리턴 값의 형태는 리스트로 내려줘야 하는데 그 리스트의 길이는 n의 값으로 정하면 되고, 그 배열 속의 값은 0번째는 x, 1번째부터는 x+x로 값을 채워주면 된다.
  2. 그래서 n의 값으로 배열의 길이를 정하고 그 배열의 길이만큼 도는 for문 안에서 값을 차례로 넣어주었다.
  3. 여기서 실수 한 점은..
    1. answer [i]는 값을 계산해서 넣으려고 하는 현재 위치인데 (answer [i] + x) 이렇게 해버려서 계속 값이 잘못 나왔었다 …. (직전 값 + x )를 한다고 하면서 -1을 안 해주어서 오류가 났다 … TㅅT
728x90