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

Study with cocochichi·2023년 11월 4일
0

프로그래머스 Lv.1

목록 보기
17/21
post-thumbnail

문제 설명

함수 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]

풀이코드

class Solution {
    public 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;
    }
}

✏️ 풀이방법

  1. long[] answer = new long[n] 배열의 길이를 n만큼 설정
  2. answer[0] = x; 배열의 첫번째 요소를 초기화
  3. for문을 사용하여 위에 answer[0]으로 첫번째 요소를 설정해줬기에 i=1부터 시작하고 n보다 작을 때 까지 반복
  4. answer[i] = answer[i-1] + x 저장
    x * (i+1)❌ ➡️ 13,14에서 실패뜸!
    ➡️ 가능하게 하려면 int i = 0으로 해야함!!

다른 풀이코드

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

0개의 댓글