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

Mark·2022년 8월 5일
0
post-thumbnail

1. 문제 설명

함수 solution은 정수 x와 자연수 n을 입력 받아, 
x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 
다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

2. 제한사항

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

3. 입출력 예

xnanswer
25[2,4,6,8,10]
43[4,8,12]
-42[-4, -8]

4. 문제 접근

  • x의 배수를 n만큼 출력
  • 리스트를 만들어서 x를 n만큼 돌린 값들을 넣어줌

5. 문제 풀이에 필요한 개념

1) array 선언

let array = [];
let array = new Array();

2) push 함수에 대한 이해

  • 자바스크립트 배열에서 원하는 값을 넣을 경우 사용하는 함수
  • 배열에 끝에 추가할 요소(즉, 인덱스 순서대로 넣어짐)
[배열].push(element)) array.push(5)

3) array[i]=i와 array.push(i)의 차이점

  • 밑에서 설명

6. 문제 풀이

1) 처음 접근 방법

처음 문제에 접근할 때 answer라는 리스트에 answer[i]=i 돌린 값을 넣어줬는데

아래와 같은 문제가 발생했다. 그래서 문제에 대해 찾아본 결과, 반복문과 조건문을 사용하여 값을 넣을 때 조건에 해당하지 않으면 empty 값이 들어가게 돼서 empty 값 없이 반복문과 조건문을 사용하여 배열에 값을 넣어주기 위해서는 push 함수를 사용해야 한다는 것을 구글링을 통해 찾았다.

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

// 출력
[ <1 empty item>, 2, 4, 6, 8, 10 ] //문제 발생 

2) push 함수를 적용한 접근

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

// 출력
[ 2, 4, 6, 8, 10 ]

참고 자료

https://retriver-truck.tistory.com/7

문제 풀기(프로그래머스)

https://programmers.co.kr/learn/courses/30/lessons/12954

profile
개인 공부 정리

0개의 댓글