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

업데이트:


문제 설명

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


제한사항

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


입출력 예

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


JAVA 풀이 과정

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 += x;
        }
        return answer;
    }
}


결과

어려운 문제가 아니라 따로 설명하지 않아도 될 것 같다. 그냥 조금 신경 써야하는 건 num의 자료형을 int가 아닌 long으로 해야한다. int로 했더니 테스트 케이스 13, 14번이 실패로 떴었다.



다른 사람 풀이

// - , SJH , 유상빈 , William Son , 김연욱 외 3 명
import java.util.*;
class Solution {
    public static long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0] = x;

        for (int i = 1; i < n; i++) {
            answer[i] = answer[i - 1] + x;
        }

        return answer;

    }
}


위의 코드는 answer[0]에 x 값을 넣은 후 for문을 돌려서 answer[i-1]한 값에 x를 더하는 방법으로 풀이했다. 놀랍구먼,,

댓글남기기