[JavaScript] Lv0 - 카운트 업

Moon·2025년 1월 3일
0
post-thumbnail

카운트 업

문제 설명

정수 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) {
    const result = [];
    for (let i = start_num; i <= end_num; i++) {
        result.push(i); // i를 result 배열에 추가
    }
    return result;
}

코드 설명

  1. result 배열 초기화:
    • result라는 빈 배열을 초기화하여 start_num부터 end_num까지의 숫자를 저장할 준비를 합니다.
  2. 반복문 실행:
    • for (let i = start_num; i <= end_num; i++)를 통해 start_num부터 end_num까지의 숫자를 순차적으로 접근합니다.
  3. 배열에 숫자 추가:
    • 반복문에서 각 숫자 iresult 배열에 추가합니다: result.push(i).
  4. 결과 반환:
    • 반복문이 종료된 후, result 배열을 반환하여 원하는 숫자 리스트를 얻습니다.

예제 실행

입력

start_num = 3, end_num = 10

과정

  • 초기화: result = []
  • 반복문:
    • i = 3result = [3]
    • i = 4result = [3, 4]
    • i = 5result = [3, 4, 5]
    • i = 6result = [3, 4, 5, 6]
    • i = 7result = [3, 4, 5, 6, 7]
    • i = 8result = [3, 4, 5, 6, 7, 8]
    • i = 9result = [3, 4, 5, 6, 7, 8, 9]
    • i = 10result = [3, 4, 5, 6, 7, 8, 9, 10]
  • 결과: [3, 4, 5, 6, 7, 8, 9, 10]

출력

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

대안 코드 (Array 생성)

function solution(start_num, end_num) {
    return Array.from({ length: end_num - start_num + 1 }, (_, i) => start_num + i);
}

설명

  • Array.from을 사용하여 배열을 생성합니다.
  • { length: end_num - start_num + 1 }: 배열의 길이를 설정합니다.
  • (_, i) => start_num + i: 각 인덱스 i에 대해 start_num + i 값을 배열의 요소로 생성합니다.

비교

기준첫 번째 코드두 번째 코드
가독성반복문으로 배열에 값을 추가하는 과정이 명확한 줄로 처리되어 간결하지만 생소할 수 있음
효율성제한 조건 내에서 충분히 효율적배열 생성과 값 대입을 한 번에 처리
코드 길이비교적 길어질 수 있음한 줄로 처리 가능
확장성단순한 구조로, 확장에 적합다양한 값 생성 규칙에 적합
사용 용이성초보자에게 익숙한 구조ES6 이상의 문법에 익숙해야 함
디버깅각 단계 디버깅 용이배열 생성 과정 디버깅 어려움
profile
MOON.DEVLOG

0개의 댓글