프로그래머스Lv.1 : x만큼 간격이 있는 n개의 숫자
■ 문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
■ 제한 조건
✔ x는 -10000000 이상, 10000000 이하인 정수입니다.
✔ n은 1000 이하인 자연수입니다.
■ 입출력 예
x | n | answer |
---|---|---|
2 | 5 | [2,4,6,8,10] |
4 | 3 | [4,8,12] |
-4 | 2 | [-4,-8] |
■ 내멋대로 풀어헤치기😜
반복문을 통해서 배열의 갯수만큼 반복해줍니다.
근데 반복되는 부분은 +된 값이기때문에 초기값은 그냥 처음부터 변수에 넣어주고 시작합니다.
+된 값은 push로 배열의 끝에 밀어넣어줍니다. 별거없네요
function solution(x, n) {
var answer = [];
var xorigin = x
answer.push(x)
for(i=0; i <n-1; i++){
x = x+xorigin;
answer.push(x) ;
}
return answer;
}
■ 다른사람 입맛도 맛보기 😋
'for문을 열심히 썼는데 내 코드가 비참해지는 순간이다' 라는 댓글이 참 와닿네요 ^^
그리고 구글링해서 공부해봤는데 뭔소린지
모르겠습니다... 나빼고 다잘해;
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
📌 나혼자 공부...
Array.prototype.fill()
fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다.
예제를 보면 이해는 되는데 이걸 왜 저렇게 쓴건데? 뭔데이게?
const array1 = [1, 2, 3, 4];
// fill with 0 from position 2 until position 4
console.log(array1.fill(0, 2, 4));
// expected output: [1, 2, 0,
0]
// fill with 5 from position 1
console.log(array1.fill(5, 1));
// expected output: [1, 5, 5, 5]
console.log(array1.fill(6));
// expected output: [6, 6, 6, 6]
🙇♀️ 틀린 점에 대한 지적은 언제나 환영합니다 🙇♂️
'프로그래머스' 카테고리의 다른 글
프로그래머스 Lv.1 : 09. 짝수와 홀수 (2) | 2022.11.06 |
---|---|
프로그래머스 Lv.1 : 08. 나머지가 1이 되는 수 찾기 (1) | 2022.11.03 |
프로그래머스 Lv.1 : 06. 핸드폰 번호 가리기 (1) | 2022.11.01 |
프로그래머스 Lv.1 : 05. 서울에서 김서방 찾기 (0) | 2022.11.01 |
프로그래머스 Lv.1 : 04. 약수의 합 (1) | 2022.11.01 |
댓글