프로그래머스
[코딩 테스트 연습] 프로그래머스 : 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와 같기 때문에 이러한 로직을 사용했다.