프로그래머스 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);
}