본문 바로가기
알고리즘/프로그래머스

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

by 며루치꽃 2020. 12. 27.

1. 문제

programmers.co.kr/learn/courses/30/lessons/12954

 

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자

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

programmers.co.kr

2. 내가 생각했던 풀이과정

 

생각한 방식은 2가지였다 아래와 같이 for 문을 이용하는 방법과 map 함수를 이용하는 것

map 함수를 이용하면 좀 더 간단하게 코드를 짤 수 있을 것 같았지만, 매개변수를 고정시켜놓았기 때문에 

아래와 같이 풀이 하기로 결정하였다

1) 빈 배열을 만든다

2) 시작 숫자 x와 i를 곱한 값을 빈 배열에 추가시켜줍니다

3) 추가한 배열을 리턴해줍니다.

 

3. 나의 풀이

x, n = list(map(int, input().split()))

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

4. 다른 사람의 풀이

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

5. 새로 알게된 점

append에 변수를 넣는것이 아닌 식을 넣어도 무관하는 것을 알았다.

x, n = list(map(int, input().split()))

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

불필요한 변수 선언을 할 필요없이 식을 바로 넣음으로써 코드를 줄일 수 있다. 

댓글