함수 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] |
for 반복문을 이용하여 풀어 주었다.
function solution(x, n) {
arr = [];//빈 배열 생성
for(i=x;arr.length < n;i+=x)
//x부터 시작, 배열의 길이가 n보다 작을 때 까지,
//반복 할 때 초기값 i에 x를 더해줌.
arr.push(i);
//배열의 끝에 i를 더해줌.
return arr;
}
function solution(x, n) {
return Array(n)//n값만큼 빈 배열을 생성
.fill(x)//x로 배열의 모든 부분을 채움[2, 2, 2, 2, 2]
.map((v, i) => (i + 1) * v)
}
map에서 인자를 두 개 주게 되면 첫 번째 인자는 현재값, 두 번째 인자는 배열 현재 요소의 인덱스이다. 배열의 첫 번째 요소는 2, 인덱스는 0이기 때문에 map을 거치면 (0+1)\*2 = 2
가 되는 것이다. 이런 식으로 배열은 [2, 4, 6, 8, 10]으로 바뀐다.