( 문제 )
함수 솔루션은 정수 x와 자연수 n을 가져와 x에서 시작하여 x씩 증가하는 n개의 숫자를 포함하는 목록을 반환해야 합니다.
다음 제약 조건을 보고 조건을 만족하는 기능 또는 솔루션을 완성하십시오.
- x는 -10000000보다 크거나 같고 10000000보다 작거나 같은 정수입니다.
- n은 1000 이하의 자연수이다.
(입력/출력 예시)
| 엑스 | N | 산출 |
| 2 | 5 | (2, 4, 6, 8, 10) |
| 4 | 삼 | (4, 8, 12) |
| -4 | 2 | (-4, 2) |
(해결책)
솔루션 (1)
(내 솔루션)
인덱스의 시작을 0이 아닌 1로 생각하면 길이가 n인 배열을 만들고 각 요소의 값은 x *(인덱스)입니다.
빈 배열을 만들고 요소로 채웁니다.
솔루션 (2)
(프로그래머의 솔루션)
결국 배열 방법은 짜릿합니다! 채우다 라는 방법을 활용하는 방법이 있었습니다!
Array().fill() -> 원하는 길이의 빈 배열을 만들고 원하는 값을 모든 위치에 삽입합니다.
넣은 후 맵을 사용하여 각 인덱스에 1을 곱합니다.
( 코드 )
// 풀이(1)
// 1부터 n까지 x와 곱하여 push한다.
const solution1 = function (x, n) {
let result = ();
for (let i=1; i<=n ; i++) {
result.push(x*i);
}
return result;
}
console.log(solution1(-4, 3)) // (-4, -8, -12)
// 풀이 (2)
// Array().fill() 활용 => Array의 원소 수만큼 같은 원소로 채운다.
// 인덱스 + 1 만큼 원소에 곱해준다.
const solution2 = function (x, n) {
return Array(n).fill(x).map((element, i) => element*(i+1));
}
console.log(solution2(3, 5)) // (3, 6, 9, 12, 15)
