문제 설명
함수 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] |
초기 코드
class Solution {
public long[] solution(int x, int n) {
long[] answer = {};
return answer;
}
}
정답 코드
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
long x1 = x;
for(int i = 1; i <=n; i++){
answer[i-1] = x1*i;
}
return answer;
}
}
코드 설명
어떤 수의 배수를 구할 때는 변수를 하나 잡아 어떤 수를 넣어준 후 계속해서 곱해주는 방법이 있다.
x만큼의 간격이 있는 수는 x에서 시작해서 x씩 커진다는 말이다. 그리고 n번 만큼 반복하기 때문에 반복문을 n까지 돌려준다.
answer은 n번만큼 반복하는 예제이기 때문에 총 길이가 n이다. 동적할당을 통해 answer를 선언한다.
이후 answer의 방에 차례대로 x와 i를 곱해준다. x가 2면 2*1, 2*2 ... 이런 순서대로 커져서 들어가게 된다.
배열의 인덱스는 0부터 시작하기 때문에 반복문을 0부터 시작해도 된다. 그럴 경우 배열의 방에 넣어줄 때 i*1을 곱해야한다. 처음 수가 0이기 때문에 첫방에 0이 들어가는 것을 막아준다.
'programmers-코딩테스트 연습 > Level 1. 자바' 카테고리의 다른 글
2021-07-14 / 문자열 내 마음대로 정렬하기 (0) | 2021.07.14 |
---|---|
2021-07-13 / 정수 내림차순으로 배치하기 (0) | 2021.07.13 |
2021-07-12 / 완주하지 못한 선수 (0) | 2021.07.12 |
2021-07-12 / 모의고사 (0) | 2021.07.12 |
2021-06-17 / 나누어 떨어지는 숫자 배열 (0) | 2021.06.17 |