문제 설명
함수 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] |
<제출답안>
function solution(x, n) {
var answer = [];
for(let i=0;i<n;i++){
answer.push(x*(i+1));
}
return answer;
}
<다른 사람풀이>
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
x=2, n=5인 경우
Array(n) // [empty × 5]
Array(n).fill(x) // [2, 2, 2, 2, 2]
Array(n).fill(x).map((v, i) => (i + 1) * v) //[2, 4, 6, 8, 10]
fill() 메서드는 arr.fill(value [, start [, end]]) 의 구문으로,
value : 배열을 채울 값
start : 시작 인덱스
end : 끝 인덱스 ( end가 3이면, 3은 포함되지 않는다 )
arr.map(callback(currentValue[, index[, array]])[, thisArg])
매개변수
callback
새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가집니다.
currentValue
처리할 현재 요소.
index Optional
처리할 현재 요소의 인덱스.
<다른 사람풀이>
function solution(x, n) {
return [...Array(n).keys()].map(v => (v + 1) * x);
}
x=2, n=5인 경우
[...Array(n).keys()] //[0, 1, 2, 3, 4]
keys() 메서드는 배열의 각 인덱스를 키 값으로 가지는 새로운 Array Iterator 객체를 반환합니다.
var denseKeys = [...arr.keys()];
console.log(denseKeys); // [0, 1, 2]