프로그래머스 JS LV0

LV0 25 배열 두 배 만들기

와라리요 2022. 10. 13. 14:48

문제

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

 

입출력 예

numbers result
[1, 2, 3, 4, 5] [2, 4, 6, 8, 10]
[1, 2, 100, -99, 1, 2, 3] [2, 4, 100, -198, 2, 4, 6]

 

나만의 풀이

  이 문제를 어떻게 풀지 고민하다 우선 반복문을 이용해 간단히 풀고 다른 분들이 어떻게 풀었는지 확인했다.

  그런데 대부분 map을 이용해서 문제를 푼 것을 알 수 있었다. 아직 map을 사용해 보지도 않았고 map에 대해 알아보았다!

  map( a => a + 1)을 예로 들면 배열을 하나 하나 꺼내어 매개변수 a에 넣고 화살표 함수로 함수를 실행한 후 다시 배열로 만들어 주는 내장 함수였다. 그래서 나도 다시 코드를 구성해 보았다.

 

for문

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

 

map()

function solution(numbers) {
    return numbers.map(a => a * 2);
}