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

HJ Kim·2022년 7월 3일
0

프로그래머스

목록 보기
43/50

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

제한 조건

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

입출력 예

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

내 문제 풀이

  • range를 쓰면 되는데 range(끝점)으로 쓸지 아니면 range(시작점, 끝점, 증가분) 으로 쓸지 고민하다가 후자로 결정
  • 끝점의 경우엔 (ex. x = 2, n = 5) 10으로 설정하면 마지막 10이 안 들어가기 때문에 x를 다시 더해줬다. (그럼 12여도 어차피 증가분이 2니까 10까지만 출력)
  • 계속 하다보니 런타임에러가 나는 케이스도 있었는데 보니까 x=0인 case도 고려를 해야했다. x=0일땐 무조건 [0]인줄 알았는데 문제를 자세히 읽으니 n개를 지녀야 한다고 해서 로직 수정함.
class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
       
        for (int i = 0; i < n; i++){
            answer[i] = (long) x*(i+1);
        }
        return answer;
    }
}

아쉬운 점

  • Long type 으로 TypeCasting을 하지 않았을땐 테스트 케이스 13,14를 자꾸 실패했다.
profile
티끌모아 태산을 아는 사람

0개의 댓글