갱스터하우스

[Python] Lv1.x만큼 간격이 있는 n개의 숫자 본문

코테 문제/프로그래머스

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

승갱 2022. 4. 8. 09:54

https://programmers.co.kr/learn/courses/30/lessons/12954?language=python3 

 

 

 

문제 설명

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

 

제한 조건

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

 

나의 접근 방법 및 풀이

문제와 입출력 예를 보며 뭔가 느낌이 왔다.

x부터 시작x씩 증가하는 숫자를 n개 지니는 리스트

이거 한 줄로 가능하겠는데? 

for문을 이용하고 i의 범위를 (0, n)으로 설정시 i를 (i+1)로 곱해야 원하는 수가 나와서, 범위를 (1, n+1)로 설정하였다.

def solution(x, n):
    answer = [x*i for i in range(1, n+1)]
    return answer

 

 

 

다른 풀이

def number_generator(x, n):
	return list(range(x, x*(n+1), x))

for문을 이용하지 않고 list, 그리고 range()의 성질?을 이용해서 결국에는 우리는 x의 1배, 2배.... n배 까지를 리스트화 하는 걸 구하기 때문에 range의 step를 x로 설정하여 return 할 수도 있다.