한 걸음씩

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

Programmers

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

winter17 2023. 4. 6. 23:13

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(x, n) {
    var answer = [];
    while (answer.length !== n){ // 배열의 길이가 n이 아닐 때 반복 시작
        if (x === 0){ // x가 0인 경우
           answer.push(0)
        }else if (x > 0){ // x가 양수
            for (let i = x; i <= x*n; i += x){
            answer.push(i)
            }   
         }else{ // x가 음수
              for (let i = x; i >= x*n; i += x){
                   answer.push(i)
              }
      }
    }
    return answer;
}

리뷰

x가 음수인 경우에 i >= x * n 이렇게 범위를 설정해야 하는데 반대로 설정해서 틀렸다

음수이기 때문에 -4 > -8 등호를 바꿔야한다

그리고 x가 0일 때 처리를 하지 않아서 런타임 에러가 발생했는데

x가 0일 때  조건 처리를 x >= 0인 경우로 설정해도 런타임 에러가 발생하길래

아예 조건을 따로 만들어줬더니 통과가 되었다