[프로그래머스] 배열 두배 만들기


문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 10,000 ≤ numbers의 원소 ≤ 10,000
  • 1 ≤ numbers의 길이 ≤ 1,000

입출력 예

numbersresult
[1, 2, 3, 4, 5][2, 4, 6, 8, 10]
[1, 2, 100, -99, 1, 2, 3][2, 4, 200, -198, 2, 4, 6]

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다.

입출력 예 #2

  • [1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return합니다.

나의 풀이

function solution(numbers) {
  var numbersArray = numbers.map((item) => item * 2);
  return numbersArray;
}

나의 두번째 풀이(Code Refactoring)

function solution(numbers) {
  let result = [];
  for (i = 0; i < numbers.length; i++) {
    result.push(numbers[i] * 2);
  }
  return result;
}

// 고차 함수를 쓰지 않고 두배수의 배열을 구해보았다

참고 할 만한 다른 사람의 코드

function solution(numbers) {
  return numbers.reduce((a, b) => [...a, b * 2], []);
}

//reduce를 이용한 누산 방법