한 걸음씩 기록하며

[프로그래머스 코딩테스트] x만큼 간격이 있는 n개의 숫자 본문

알고리즘 & 코딩테스트

[프로그래머스 코딩테스트] x만큼 간격이 있는 n개의 숫자

Haksae 2022. 1. 15. 16:55

[x만큼 간격이 있는 n개의 숫자]

문제 설명 :
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

⛏제한 조건

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

 

📁 입출력 예시

 

👉🏻  답안

function solution(a,b) {
  let answer = [];
  for (let i = 1; i <= b; i++) {
    answer.push(x*i)
  } return answer;
}

 

📑  간단한 설명

answer 배열 초기화하고, for문을 돌렸다. 

 

사실 .push와 .map 을 사용하여 문제를 풀어보려고 노력을 하였으나 결국 다 실패하고 다른 답지를 냈다.

그리고 다른 사람 답안 보기 하니깐 바로 아래 답안이 나왔다. 와우....ㅋㅋㅋㅋㅋㅋㅋ

 

💪🏻 공부하면 좋을 답안

function solution(x, n) {
    return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
  • .fill ( ) 함수 정리
    • arr.fill ( value[, start[, edd]])      ex) arr.fill( 'a', 1, 3)
    • 배열의 start index부터 end index 전까지 (end index는 미포함) value값으로 채워주는 함수 
  • 답안 설명
    • n만큼의 Array 선언 후, fill 함수로 Array의 모든 값을 x로 채운다. (참고로 end index를 안쓰면 arr.length로 디폴트)
    • x값의 .map 함수를 활용한다.
    • map 함수의 v는 값이고, i는 인덱스다.  ( i + 1 )* v 하는 방식으로 fill된다.
Comments