해결 : for문이랑 배열 사용
function solution(x, n) {
let answer = [];
//2,5 -> 2의 배수를 5개 만들어야함
for(let i=0; i<n; i++){
answer[i]=x*(i+1);
}
return answer;
}
원본문제는 아래링크에
https://programmers.co.kr/learn/courses/30/lessons/12954
[220108] Array(), fill(), map() 이용해서 풀기
효율적이게 쓰는 방법도 손에 조금씩 익히자.
1000번을 더한다면 곱셈을 쓰지 하위 버젼인 덧셈을 쓰지 않는것처럼. 당장은 모르더라도 손에 조금씩 익혀두자.
let x=2;
let n=5;
function solution(x,n){
return Array(n).fill(x).map((v,i)=>(i+1)*v)
/*
- 요소를 n개 만드는 새 배열을 만들건데,
- 그 안을 x로 채울거야.
- 그 x에 하나씩 접근해서 함수처리 한 값으로 새 배열을 만들거야
- map(함수(처리할 현재 요소, 처리할 현재 요소의 인덱스, map()을 호출한 원본배열))
- 인덱스 0부터 하나씩 접근할때 바뀌는 인덱스가 i
*/
}
solution(2,5);
// {빈 요소, 빈 요소, 빈 요소, 빈 요소, 빈 요소}
// {2, 2, 2, 2, 2}
// {(0+1)*2, (1+1)*2, (2+1)*2, (3+1)*2, (4+1)*2}
// {2, 4, 6, 8, 10}
Array(n) -> [ 빈 공간, 빈 공간, ... n개]
fill(x) -> 배열의 시작 인덱스부터 끝 인덱스까지 정적인 값 x로 채운다
map() -> 선언된 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환함.
위 생성자와 메소드에 관한 작성글 : https://hancoco.tistory.com/manage/newpost/39?type=post&returnURL=https%3A%2F%2Fhancoco.tistory.com%2F39
'실천하기 > 코딩테스트' 카테고리의 다른 글
[220108] Lv.1 / 하샤드의 수 (0) | 2022.01.08 |
---|---|
[220107] Lv.1 / 핸드폰 번호 가리기 (0) | 2022.01.07 |
[220105] Lv.2 피보나치 수열 / 메모이제이션으로 풀기 (0) | 2022.01.05 |
[220104] 코테 Lv.1 / 행렬의 덧셈 (0) | 2022.01.04 |
[220104] 코테 Lv.1 / 직사각형 별찍기, 크롬 콘솔에서 중복된 값 띄우기 (0) | 2022.01.04 |
댓글