본문 바로가기

Algorithm

[알고리즘] #11 x만큼 간격이 있는 n개의 숫자 | 프로그래머스

728x90

프로그래머스에서 x만큼 간격이 있는 n개의 숫자 알고리즘 문제를 풀어보았다.

 

https://programmers.co.kr/learn/courses/30/lessons/12954

 

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자

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

programmers.co.kr

 

 

 

문제 설명

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

 

제한 조건

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

 

입출력 예

 

 

< 문제풀이 코드>

 

 

 

<문제 리뷰>

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

// 생각해보기.
// x = 2, n = 5 일경우 answer은 [2, 4, 6, 8, 10]
// 더해지는 거니까 반복문을 사용해야겠다.
// n의 길이(5번)만큼 x(숫자2) 를 더해주면 되지 않을까?
// 일단 이 숫자들을 저장해놓을 곳이 필요할 것 같으니 num 변수도 만들어놓자.
// 2를 더해줄거니까 num은 처음에 0이어야해.
// 만약 반복문이 제대로 실행된다면, 처음엔 2 출력, 다음줄 4 출력, 6출력....
// 그리고 이 세로줄로 된 것을 배열에 넣어야해.
// 빈 배열을 만들고, 이 숫자들을 push해서 넣어주면 되겠다.


function solution(x, n) {
	// 증가된 숫자 담을 곳으로 num을 만든다.
  let num = 0;
  // 배열로 된 답 변수.
  let answer = [];
  
  // 아까 생각해보기에서 정한 5라고 해보면.
  for (let i = 0; i < n; i++){
   //첫번째 줄 2저장, 두번째 줄 4저장, 세번째 줄 6저장.... 
    num += x;
    //따로 따로 세로줄에 출력된 숫자들을 배열 한 줄에 넣는다.
    answer.push(num);
  }
   
  //solution에 answer 주기.
  return answer;
}

 

 

 

 

 
 
다른 사람들은 어떻게 풀었을까?
 
 
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

더 알아보아야할 것

: fill() 메소드

: map() 메소드

 

 

 

더 알아보아야할 것

: keys() 메소드

728x90