► JS Algorithm/Programmers

[Programmers] JavaScript 알고리즘 | Lv.0 카운트 업

다람트리 2023. 11. 24. 20:27
반응형

🔒 문제 설명

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

 

🔒 제한사항

  • 0 ≤ start_num ≤ end_num ≤ 50

🔒 입출력 예

start_num end_num result
3 10 [3, 4, 5, 6, 7, 8, 9, 10]

 


🔒 입출력 예 설명

입출력 예 #1 

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

 


 

🔐 solution of mine

for문, push()

      function solution(start_num, end_num) {
        var answer = [];
        for (let i = start_num; i <= end_num; i++) {
          answer.push(i);
        }
        return console.log(answer);
      }
      solution(3, 10); // [3, 4, 5, 6, 7, 8, 9, 10]

 


 

🔐 solution of others 

Array

fill()

map()

      function solution(start, end) {
        return console.log(
          Array(end - start + 1)         // intermediate result: [empty x 8]
            .fill(start)                 // intermediate result: (8)[3, 3, 3, 3, 3, 3, 3, 3]
            .map((x, idx) => x + idx)    // final result: (8)[3, 4, 5, 6, 7, 8, 9, 10]
        );
      }

      solution(3, 10); // [3, 4, 5, 6, 7, 8, 9, 10]

 

🔐 solution of others 

Array

from()

      function solution(start, end) {
        return console.log(
          Array.from({ length: end - start + 1 }, () => { // intermediate result: (8)[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
            return start++;                               // start변수에 담긴 숫자가 순환되면서 1씩 증가한다.
          })					  	  // final result: (8)[3, 4, 5, 6, 7, 8, 9, 10]
        );
      }

      solution(3, 10); // [3, 4, 5, 6, 7, 8, 9, 10]

◆ from() 구조:

 - Array.from(arrayLike, mapFn)

 - Array.from({length:숫자, 인덱스번호: 벨류값}, ()=>맵함수)

 from() 코드예시:

console.log(Array.from({ length: 3, 1: "bbb" })); // expected output: (3)[undefined, 'bbb', undefined]

 


 

 

 

 

반응형