프로그래머스

[코딩 테스트 연습] 프로그래머스 : x 만큼 간격이 있는 n개의 숫자

오두기밥 2022. 5. 19. 20:20

1. 문제

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

 


 

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

 

 

 

 

입력 출력 예시

 

풀어보기

 

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

1) 풀이

  • n개 지니는 리스트를 만들기 위해 n만큼 반복
  • x씩 증가는 숫자를 구해야함으로,  x ->  x+x -> x+x+x 이런 식으로 증가,   x*1-> x*2, ->x*3와 같기 때문에 x에 반복을 돌며 1부터 하나씩 증가한 수를 곱해주면 해당 값이 나온다. 
  • long 타입 배열임으로 long 타입으로 변환 후 저장한다.

 

마무리

곱하기는 같은 값을 여러번 더한 것을 더 간편하게 x+x = 2x = 2*x와 같기 때문에 이러한 로직을 사용했다.