FrontEnd
Javascript
Diary
ML
CS
Django
Algorithm
AWS
Co-Work
HTML
CSS
Python
React
ReactNative

#22 알고리즘 연습 - x만큼 간격이 있는 n개의 숫자(Python)

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

문제풀이
이전에 풀었던 문제에서 range의 세번째 인자로 공차를 넣을 수 있었던 부분이 있었다. range의 성질을 이용하고 list comp를 이용해서 간단히 만들어 줄 수 있을거라 생각했다.

내 풀이 🏆

def solution(x, n):
    if (x==0):                    
    #x에 0이 들어가는 testcase가 있어서 해당부분을 if문으로 예외처리 해줬다
        return [0]*n
    return [i for i in range(x,x*(n+1),x)]  
    # 이때 x*n+1을 해주지않고 n+1을 묶어준 이유는 
    # 음수의 경우에도 해당 범위 설정을 제대로 해주기위해
    # 곱하는 값에 +1을 해서 묶어서 곱해준것이다

다른 풀이🏆

프로그래머스에서 좋아요를 가장 많이 받은 코드는 0일때는 제대로 작동하지만 음수일때는 제대로 해결하지 못하므로 나의 코드가 더 나은 코드인것 같아서 추가적으로 다루지는 않을꺼다