728x90
반응형
문제
정수 x와 자연수 n이 매개변수로 주어진다.
x부터 시작해 x씩 증가하는 숫자를 n개 지닌 배열을 반환하는 함수를 작성하라.
예시
x | n | return |
2 | 5 | [2, 4, 6, 8, 10] |
4 | 3 | [4, 8, 12] |
-4 | 2 | [-4, -8] |
나의 풀이
function solution(x, n) {
const result = [];
for (let i = 1; i <= n; i++) result.push(x * i);
return result;
}
다른 풀이
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
풀이 방법
먼저 문제에서 n번 반복해야 된다는 조건에 for문을 사용하기로 했다.
빈 배열을 하나 생성해주고 for문을 사용해서 i의 값을 1씩 증가시키면서 x * i 값을 빈 배열에 넣어주고 결과를 반환했다.
다른 사람의 풀이를 보니 코드가 간결하고 이해하기 쉬웠다.
먼저 Array()와 fill() 함수를 사용해서 길이가 n이고 값이 x로 채워진 배열을 만들어줬다. ([2, 2, 2, 2, 2])
그리고 map() 함수를 사용해 해당 값을 i+1 * v 만큼 증가시킨 배열을 반환했다.
for문을 사용하지 않고 푸는 연습을 많이해야겠다고 생각했다.
728x90
반응형
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] [1차] 다트 게임 - 2018 카카오 블라인드 코딩 테스트 (1) | 2024.08.22 |
---|---|
[JavaScript] [1차] 비밀지도 - 2018 카카오 블라인드 코딩 테스트 (0) | 2024.08.22 |
[JavaScript] 행렬의 덧셈 (0) | 2024.08.21 |
[JavaScript] 핸드폰 번호 가리기 (0) | 2024.08.21 |
[JavaScript] 제일 작은 수 제거하기 (0) | 2024.08.20 |
댓글