코딩테스트 연습 01: [프로그래머스] x만큼 간격이 있는 n개의 숫자

gyomni·2022년 1월 19일
0

Algorithm

목록 보기
1/33
post-thumbnail

출처 : 프로그래머스
사용 언어 : JavaScript

초기 코드

function solution(x, n) {
    var answer = [];
    return answer;
}

내가 작성한 코드

function solution(x, n) {
    let x1=x;
    let x2=0;
    let n1=n;
    var answer = [];

    for(let i=0;i<n1;i++){

        x2+=x1;
        answer.push(x2);
        
    }

    return answer;
}

다른 사람 풀이


function solution(x, n) {
    return Array(n).fill(x).map((v, i) => (i + 1) * v)
}

🙍‍♀️ 📝

fill()
: 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채운다.
value, start, end 3개 인자를 가진다.
startend 인자는 선택 사항으로써 기본값으로 각각 0과, this 객체의 length를 가집니다.
-> arr.fill(value[, start[, end]])

매개변수
: value

배열을 채울 값.
start Optional
시작 인덱스, 기본 값은 0.
end Optional
끝 인덱스, 기본 값은 this.length.

반환 값
: 변형한 배열.

const numArr1 = ['1', '2', '3', '4'];
numArr1.fill('🎀'); 
// ['🎀', '🎀', '🎀', '🎀']
const numArr2 = ['5', '6', '7', '8'];
numArr2.fill('🎀', 1); 
// ['5', '🎀', '🎀', '🎀']
const numArr3 = ['1', '2', '1', '2'];
numArr3.fill('🎀', 1, 3); 
// ['1', '🎀', '🎀', '2']

startend 인덱스 음수라면?
-> 배열 마지막 원소의 인덱스가 -1이 되고, 앞으로 올수록 인덱스가 감소

const numArr4 = ['1', '2', '3', '4'];
numArr4.fill('🎀', -3, -1); // ['1', '🎀', '🎀', '4']

다른 풀이는 이렇게 간단할수가,,, ㅎ ㅎㅎ
사실 내가 작성한 코드도 한번에 작성된 코드가 아닌데 ㅜㅜ
더더더 열심히 하자!!
문법도 알고리즘도 열심히 공부해야겠다 💪

profile
Front-end developer 👩‍💻✍

0개의 댓글