crystal_dev
Crystal 개발 일지
crystal_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (58)
    • Web (0)
    • Frontend (32)
      • React (0)
      • Javascript (17)
      • HTML & CSS (14)
      • DOM API (0)
    • 사이드프로젝트 (1)
      • Flask (1)
    • CS (0)
      • Network (0)
    • 형상관리 & 개발도구 (2)
      • git (1)
      • VSCode (1)
    • 알고리즘 (19)
      • 백준 알고리즘 (1)
      • 프로그래머스 (17)
      • 기타 (1)
    • Error (2)
      • javscript (1)
      • python (1)
    • blog (2)
      • daily (1)
      • 회고 (0)
      • it참고 (0)
      • 항해99 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • userfont
  • frontend
  • css정렬
  • js
  • CSS
  • Programmers
  • let
  • 느슨한타입
  • 알고리즘
  • match()
  • js 기본
  • 자바스크립트
  • 프론트엔드
  • javascript error
  • js기본
  • 프로그래머스
  • 풀이
  • Javascript
  • css위치
  • Algorithm

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
crystal_dev

Crystal 개발 일지

[lv.1] x만큼 간격이 있는 n개의 숫자
알고리즘/프로그래머스

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

2022. 5. 17. 12:27
728x90
반응형

문제 설명

함수 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]

 

내 풀이1

1. 문제 분석

정수 x의 배수를 자연수 n개 만큼만 구한 뒤 리스트에 push하고, 리스트를 반환해야 하는 문제이다.

2. 규칙 찾기 
예 : n = 5, x = 2일 때, answer는 [2,4,6,8,10]이 된다.

반복 횟수 n x answer
1번 1 2 1 * 2 = 2
2번 2 2 2 * 2 = 4
3번 3 2 3 * 2 = 6
4번 4 2 4 * 2 = 8
5번 5 2 5* 2 = 10


🔥 규칙

answer = x * i // (i의 범위 : 1 <= i <= n)



3. 코드화

1. for  1 <= i <= n
2. answer.push( x * i )

 

 

4. 코드

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

 

다른 사람 풀이

function solution(x, n) {
    return Array(n).fill(x).map((v, i) => (i + 1) * v)
}

👉 n개의 배열을 선언해서 x로 초기화 하고, 각각의 값을 인덱스마다 1 증가하며 곱해서 결과를 반환한다.

한 줄로 깔끔하게 풀이하신 것 같다. 나는 언제쯤 ㅎㅎ

 

👀 참고

메서드  MDN
Array.map() https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Array.fill() https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
728x90
반응형
저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[lv.1] 2016년  (0) 2022.05.24
[lv.1] 부족한 금액 계산하기  (0) 2022.05.17
[lv.1] 행렬의 덧셈  (0) 2022.05.17
[lv.1] 핸드폰 번호 가리기  (0) 2022.05.17
[lv.1] 평균 구하기  (0) 2022.05.16
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [lv.1] 2016년
    • [lv.1] 부족한 금액 계산하기
    • [lv.1] 행렬의 덧셈
    • [lv.1] 핸드폰 번호 가리기
    crystal_dev
    crystal_dev
    어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧

    티스토리툴바