코딩테스트 - x만큼 간격이 있는 n개의 숫자

민태영·2023년 5월 22일
0

문제) : 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴

나의 풀이
function solution(x, n) {
	// 값을 담아줄 배열을 선언
    let answer = [];
    let sumNum = 0;
    // for문으로 선언한 배열에 sumNum변수에 
    x를 더하기 등호로 값을 누적해서 저장
    for(let idx = 0; idx < n; idx++) {
        answer[idx] = sumNum += x
        
    }
    return answer
}
다른 사람의 풀이

다른사람은 더하기 등호 보단 곱셈을 하는 경우가 많았다.

answer.push(x*i)

아래의 코드가 가장 간략하고 깔끔하게 하셨는데

function solution(x, n) {
    return Array(n).fill(x).map((v, i) => (i + 1) * v)
}

먼저 Array함수로 매개변수n의 길이만큼 빈 배열을 만들고
fill(x)로 빈배열을 x로 채워넣는다. 그리고 map함수로 idx * v를 하는데 처음 idx값이 0이니까 1을 더해준다.

profile
꿈을 꾸는 개발자

0개의 댓글