[프로그래머스] 카운트 업


문제 설명

정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항

• 0 ≤ start_num ≤ end_num ≤ 50


입출력 예

start_numend_numresult
310[3, 4, 5, 6, 7, 8, 9, 10]

입출력 예 설명

입출력 예 #1

  • 3부터 10까지의 숫자들을 담은 리스트 [3, 4, 5, 6, 7, 8, 9, 10]를 return합니다.

나의 풀이

function solution(start_num, end_num) {
  var answer = [];
  for (let i = start_num; i <= end_num; i++) {
    answer.push(i);
  }
  return answer;
}

나의 두번째 풀이(Code Refactoring)

function solution(start_num, end_num) {
  return Array(end_num - start_num + 1)
    .fill(start_num)
    .map((v, i) => v + i);
}

// 1. Array() 생성자 함수 : Array(arrayLength)
// 2. fill(): 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채운다

참고 할 만한 다른 사람의 코드

function solution(start, end) {
  return Array.from({ length: end - start + 1 }, () => {
    return start++;
  });
}