프로그래머스 코딩(자바)/Level 1

Programmers Level 1 - x만큼 간격이 있는 n개의 숫자

kjwc 2023. 3. 8. 14:17
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]

 

1
2
3
4
5
6
7
8
9
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;
    }
}
cs

 

  X 단을 N개 호출하면 답이다.
  
  for(int i=1;i<=n;i++){
      answer[i-1] = (long)x * i;
  }

 반복문을 위와 같이 고쳐도 됩니다. 배열 첨자를 -1해주거나 i값을 +1 을 적당하게 사용하면 된다. 

 

1
2
3
4
5
6
import java.util.stream.IntStream;
class Solution {
    public long[] solution(int x, int n) {
        return IntStream.rangeClosed(1, n).mapToLong(v -> (long)x *  v).toArray();
    }
}
cs

 

  IntStream.rangeClosed(1, n)로 IntStream을 만들고

  mapToLong()으로  요소를 반복해서 x단을 n개 만큼 만들고 

  toArray() 메서드로 배열로 변환하였습니다.

 

728x90