알고리즘/이것저것

[프로그래머스] x만큼 간격이 있는 n개의 숫자 - 파이썬(python)

아뵹젼 2022. 9. 1.

 

 

 

 

나의 풀이

def solution(x, n):
    
    if x == 0 : return [0 for _ in range(n)]
    else : return [y for y in range(x,x+n*x,x)]

x가 0인 경우를 생각하지 못해서 계속 하나의 테스트케이스를 통과하지 못했다.

기존에는 x==0 인 예외를 처리하지 않아서, range(x,x+n*x,x) 에서 무한루프를 돌게 되었다.

 

 

 

다른 풀이

def number_generator(x, n):
    return [i * x + x for i in range(n)]

x가 2, n이 5인 케이스를 가정해보자.

i*x + x는 

2, 4, 6, 8, 10 이 된다.

x가 0일 때도 조건식이 존재하지 않아 통과되는 좋은 코드이다.

댓글