EXCELSIOR

[Level1] x 만큼 간격이 있는 n개의 숫자 (number_generator) 본문

Python/알고리즘_문제

[Level1] x 만큼 간격이 있는 n개의 숫자 (number_generator)

Excelsior-JH 2016. 10. 12. 18:23

helloworld라는 다양한 프로그래밍 언어를 공부할 수 있는 사이트를 발견했다!!

Python 독학으로 대충 보았더니 다까먹어서 책 참고하면서 공부를 해야할 듯 하다...ㅜㅜ


문제) 

number_generator함수는 x와 n을 입력 받습니다.
2와 5를 입력 받으면 2부터 시작해서 2씩 증가하는 숫자를 5개 가지는 리스트를 만들어서 리턴합니다.
[2,4,6,8,10]

4와 3을 입력 받으면 4부터 시작해서 4씩 증가하는 숫자를 3개 가지는 리스트를 만들어서 리턴합니다.
[4,8,12]

이를 일반화 하면 x부터 시작해서 x씩 증가하는 숫자를 n개 가지는 리스트를 리턴하도록 함수 number_generator를 완성하면 됩니다.

[출처: tryhelloworld.co.kr/challenge_codes/135]

1. 내가 작성한 코드

 def number_generator(x,n):

    #함수를 완성하세요

    lst = []

    for i in range(x, x*n+1, x):

        lst.append(i)

    return lst


#아래는 테스트로 출력해 보기 위한 코드 입니다.

print(number_generator(3, 5))


2. 다른 사람의 풀이 

 1) def number_generator(x, n):

    # 함수를 완성하세요

    return [i * x + x for i in range(n)]

print(number_generator(2, 5))


2) def number_generator(x, n):

    # 함수를 완성하세요

    return [x*(i+1) for i in range(n)]


# 아래는 테스트로 출력해 보기 위한 코드입니다.

print(number_generator(3,5))



확실히 차이가 난다... 더 열심히 해야겠다!! 

Comments