티스토리 뷰
문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
제한 조건
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
입출력 예
x | n | result |
2 | 5 | [2,4,6,8,10] |
-4 | 2 | [-4, -8] |
4 | 3 | [4,8,12] |
내풀이
- 빈 배열을 만들어서 값을 더해주고 넣어준뒤 그 배열이 n-1만큼 만들어지면 return해라입니다.
function solution(x, n) {
var answer = [];
let sumNum = 0
while(answer.length<n){
sumNum += x;
answer.push(sumNum)
}
return answer;
}
배워야 할점
1. n만큼의 배열을 만들고 그 안을 x로 다 채워준뒤 map으로 요소를 하나씩 꺼내고 인덱스 +1 을 해주고 x로 곱해주면 됩니다.
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
→ fill()이라는 메서드를 생각하지 못하였고 map의 2번째 인자는 해당 index라는걸 기억하지 못했다.
배열에 똑같이 x로 다 넣으면 똑같은 x가 나오는 발상도 신기했다.
2. 배열에 값을 추가 시켜주는데 반복해서 x의 값 * i값 하고 i가 n의 길이만큼만 돌고 끝내는 방식입니다.
function solution(x, n) {
var answer = [];
for (let i = 1; i <= n; i++) {
answer.push(x*i)
}
return answer;
}
가장 근본적인 방식을 생각을 못한게 음.. 좀 아쉬웠던것 같습니다.
for문을 쓰는게 무한루프쓰는것보다 메모리적으로나 훨씬 이득일텐데 다짜고짜 while문이 생각난것이 아쉽습니다.
'개발일지 > 문제 풀이' 카테고리의 다른 글
가운데 글자 가져오기(substr, substring) (0) | 2024.01.19 |
---|---|
없는 숫자 더하기 (0) | 2024.01.18 |
프로그래머스 핸드폰 번호 가리기 (0) | 2024.01.15 |
프로그래머스 문자열추출 문제 풀이.. (1) | 2024.01.07 |
문제풀이.. 짝수의 합 / 배열의 평균값 (1) | 2024.01.07 |