[프로그래머스] x만큼 간격이 있는 n개의 숫자 (resultArray, push)

조아연·2024년 6월 25일

JavaScript 공부

목록 보기
19/24

JavaScript 코딩테스트 x만큼 간격이 있는 n개의 숫자 (16일)

x만큼 간격이 있는 n개의 숫자

증가한 수를 리턴한다.. 라고 했으니 이번에도 for문을 사용해보려한다.

첫번째 답변

function solution(x, n) {
    var answer = []; 
    for (let i = 0; i <= n; i++) {
        x+x[i]
    }
    return answer;
}

뭔가 거듭제곱을 표현하고 싶었는데, 그 수식을 몰랐다
당연히 오류가 났고 그래서 chat GPT에게 물어봤다.

Math.pow(base, exponent)

base: 밑(base) 값, 즉 거듭제곱하려는 숫자.
exponent: 지수(exponent) 값, 즉 몇 번 곱할 것인지.

resultArray.push

push 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 추가된 후 배열의 길이를 반환합니다.
let resultArray = []; // 빈 배열 생성
resultArray.push(2); // 배열 끝에 2 추가

요 두개를 활용해서 다시풀었는데 또 오류가 났다.

두번째 답변

function solution(x, n) {
    var answer = []; 
    for (let i = 0; i <= n; i++) {
        resultArray.push(Math.pow(x,i));
    }
    return answer;
}

빈 배열을 생성하지 않아서 오류가 난듯해서 수정했다.
resultArray.push 를 씀으로써 거듭제곱하는 Math.pow는 사용하지 않아도 될 것 같아서 뺐다.

세번째 답변

function solution(x, n) {
    let resultArray = [];
    for (let i = 1; i <= n; i++) {
        resultArray.push(x*i);
    }
    return resultArray;
}

문제가 풀렸다!
근데 정답 채점 후 점수를 많이줬는데, 남들과 다른답을 쓰면 점수를 많이주는 걸로 알고있다.

다른사람들의 답을보니 push 메서드만을 사용해서 배열 끝에 하나의 요소를 추가할 수 있는 것 같았다.
answer.push 매서드가 아니라 resultArray.push로 써서 점수를 많이준 듯 하다..

깨달은 점

  • resultArray.push 을 쓸때, 빈 배열을 꼭 선언해줘야 한다는 점
  • Math.pow(base, exponent) : 거듭제곱하려는 숫자, 곱하려는 지수 값
  • resultArray.push : 배열 끝에 하나 이상의 요소를 추가하고 , 추가한 후 배열의 길이 반환
  • resultArray는 함수 내에서 값을 저장하고 최종 결과를 반환하기 위해 사용되는 배열입니다.
  • push는 JavaScript에서 배열의 끝에 하나 이상의 요소를 추가하는 메서드입니다.
profile
비전공자 QA의 자기개발 공부노트

0개의 댓글