본문 바로가기

생각정리/코딩테스트

[JAVA][Level1]PROGRAMMERS x만큼 간격이 있는 n개의 숫자

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


문제 설명

함수 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]; // n개의 배열의 크기로 선언
        long cnt = 0; // x씩 증가하는 숫자를 만들기 위한 변수
        
        // n개의 숫자를 지니는 리스트를 넣기 위해 n번 반복
        for (int i = 0; i < n; i++) {
            cnt += x; // x씩 증가하는 수
            answer[i] = cnt;
        }
        return answer;
    }
}
  • answer 배열의 크기를 지정해 준다.
  • 주어진 자연수의 개수만큼 반복하여 x의 값을 합산하여 배열에 넣어준다.

문제는 간단하지만 프로그래머스에서는 answer를 먼저 기입을 해주는데 문제를 풀면서 해당 주어지는 것에 너무 얽매이지 않아야 되는 걸 체크하기 위해 정리를 한다.
꼭 long[] answer = {} 주어 젔다고 이걸 사용할 것이 아니라 타입을 바꿔도 되고 배열이 아닌 리스트를 사용해도 되고 정답을 answer를 사용 안 하고 리턴을 해주어도 상관없다는 것이다.
보이는 것을 상관하지 말고 자유롭게 생각해서 풀어야 한다.

 

 

문제 출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12954?language=java