-
항해 99 - x만큼 간격이 있는 n개의 숫자알고리즘 공부/JavaScript 문제 2023. 4. 16. 15:14
[ 문제 ]
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다.
다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
- x는 -10000000 이상, 10000000 이하인 정수입니다.
- n은 1000 이하인 자연수입니다.
[ Input / Output 예시 ]
x n Output 2 5 [2, 4, 6, 8, 10] 4 3 [4, 8, 12] -4 2 [-4, 2]
[ 풀이 ]
풀이 (1)
(내 풀이)
인덱스의 시작을 0이 아닌 1이라고 생각한다면 배열의 길이가 n이고 각 원소의 값이 x * (인덱스)인 배열을 만드는 것이다.
빈 배열을 만들고 그 안에 원소를 채운다.
풀이 (2)
(프로그래머스 풀이)
역시 배열의 메소드는 짜릿하다! fill 이라는 메소드를 활용하는 방법이 있었다!
Array().fill() -> 원하는 길이의 비어있는 배열을 만들어서 모든 자리에 원하는 값을 넣어준다
넣어준 후 map 을 활용하여 각 인덱스+1 만큼 곱해준다.
[ 코드 ]
// 풀이(1) // 1부터 n까지 x와 곱하여 push한다. const solution1 = function (x, n) { let result = []; for (let i=1; i<=n ; i++) { result.push(x*i); } return result; } console.log(solution1(-4, 3)) // [-4, -8, -12] // 풀이 (2) // Array().fill() 활용 => Array의 원소 수만큼 같은 원소로 채운다. // 인덱스 + 1 만큼 원소에 곱해준다. const solution2 = function (x, n) { return Array(n).fill(x).map((element, i) => element*(i+1)); } console.log(solution2(3, 5)) // [3, 6, 9, 12, 15]
'알고리즘 공부 > JavaScript 문제' 카테고리의 다른 글
항해 99 - 2016년 (0) 2023.04.16 항해 99 - 부족한 금액 계산하기 (0) 2023.04.16 항해 99 - 행렬의 덧셈 (1) 2023.04.16 항해 99 - 핸드폰 번호 가리기 (0) 2023.04.16 항해 99 - 평균 구하기 (0) 2023.04.15