문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가는 숫자를 n개 지니는 리스트를 리턴합니다.
제한사항
- x는 -10000000 이상, 10000000 이하인 정수입니다.
- n은 1000 이하인 자연수입니다.
내가 푼 문제 풀이
function solution(x, n) {
var answer = [];
for(let i=1; i<=n; i++){
answer.push(x*i)
}
return answer;
}
다른 사람이 푼 문제 풀이
function solution(x, n) {
return Array(n).fill(x).map((item, index)=>{return item * (index+1)})
}
1) Array() 생성자를 사용하여 길이가 n개인 배열을 만든다.
2) fill() 메소드를 사용해서 배열에 요소들을 x로 채운다.
3) 배열함수인 map()을 사용해서 item과 index 값을 받아온다.
4) return 값으로는 처음에는 item * index를 했었는데 index가 0부터 시작하기 때문에
결과값으로 [0, 2, 4, 6, 8]이 나와서 결과값과 일치하지 않기 때문에
5) item * (index + 1)을 해서 index가 1부터 시작하도록 한다.
6) map() 함수의 return 값은 배열 형태로 반환 때문에 바로 return 해준다.
https://themarketer.tistory.com/57
https://programmers.co.kr/learn/courses/30/lessons/12954
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
2일차 → 2016년(Date 생성자 함수, toString()) (0) | 2021.11.09 |
---|---|
2일차 → 내적(forEach(), reduce()) (0) | 2021.11.09 |
2일차 → 나누어 떨어지는 숫자 배열(filter(), sort()) (0) | 2021.11.09 |
2일차 → 행렬의 덧셈(배열-push()) (0) | 2021.11.09 |
2일차 → 핸드폰 번호 가리기(replace(), 정규식 표현) (0) | 2021.11.09 |
댓글