► 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]
반응형