x만큼 간격이 있는 n개의 숫자(Javascript)

·2022년 9월 15일
0
post-thumbnail

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

제한 조건

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

입출력 예

xnanswer
25[2,4,6,8,10]
43[4,8,12]
-42[-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]으로 바뀐다.

profile
전 이것도 몰라요

0개의 댓글

관련 채용 정보