반응형

 

 

function solution(x, n) {
    let answer = [];
    for(let i = 0; i < n; i++)
    {
        answer.push(x*(i+1));
    }
    return answer;
}

로직 생각 : 

정수 x = x 부터 시작해 x 씩 증가 시킴

자연수 n = 우리가 반복할 숫자

 

for 문을 이용해 자연수 n 까지 반복을 돌리고,

answer 리스트에 push를 이용해 x * ( i + 1) 을 리턴해줌 

 

x * (i  + 1) 은 i 가 0 일때 1 * x 가 되기 때문에 첫번째 x 부터

마지막 n - 1 까지 반복을 돌리기 때문에 x * (n - 1 + 1) 로 n*x 가 나오게 되므로 x 부터 시작해 x씩 증가하는 숫자 n 개를 리스트에 push를 이용하여 넣어줄 수 있다.

 

다른사람의 코드

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

분석을 해보자면 리스트로 반환을 하기 때문에 Array 객체 배열에 fill() 함수를 이용해 x로 n개의 리스트 요소를 넣어준다.

그 후 map((v, i) => (i + 1) * v) / map 메서드와 콜백함수를 이용하여 v, 는 요소 i는 인덱스로 map 을 콜백함수를 이용하여  리스트의 i 번째 인덱스 값을 (i+1)  + v(현재 리스트의 값)으로 바꾸어 주어 채워주고 있다. 

 

 

반응형
반응형

정수 입력 값을 받아 정수의 약수의 합을 구하는 문제

function solution(n) {
    var answer = 0;
    for(let i = 1; i <= n; i++)
    {
        if(n % i == 0 )
        {
            answer += i;
        }
    }
    return answer;
}

for문으로 i 부터 n 까지 반복문을 돌려 주었고, 조건식 if문은 입력값 n 을 i로 나누었을 때 나누어 떨어지면 약수이기 때문에 반환되는 answer 값에 약수들을 더해주는 식이다. 

반응형

+ Recent posts