JSITCLUB

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

파이썬/문제풀이

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

jsitclub 2020. 5. 20. 15:56

프로그래머스 level 1

 

문제 설명

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

 

 

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

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

programmers.co.kr

 

풀이 및 코드

 

문제요약 

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

문제해설

이 문제도 반복을 하면서 조건에 맞으면 처리하는 형태 입니다. 아마도 지금쯤 이런 형태의 문제들이 자주 나오는 것을 느끼실 겁니다. 많은 알고리즘 문제가 반복을 진행하면서 조건에 맞으면 그것에 맞는 처리를 하는 형태이니 잘 익히기 바랍니다.

먼저 반복문을 사용하려는데, while문과 for문 중 어느것을 사용하는것이 좋을까요? 대부분의 경우 while문은 갯수를 확실히 알수 없을때, for문은 갯수를 알수 있을때 사용합니다.(물론 반드시 지켜야하는것은 아니지만요.)

그럼 이 문제는 갯수를 확실히 알 수 있는 문제인가요? 대답은 예 입니다. 바로 n이 반복할 횟수가 되겠죠.

그리고 시작 숫자가 x , 간격도 x 이므로 그러므로 먼저 다음과 같은 함수를 만들수 있겠네요.

x=2
n=5

a=x;
for i in range(n):
    print(a)
    a+=x

 

목록을 출력하여 넣을 내용들이 맞는것을 확인 하였다면 리스트에 담아 리턴하면 문제가 해결 되겠죠.

결과코드

def solution(x, n):
    result=[]
    a=x;
    for i in range(n):
        result.append(a)
        a+=x

    return result

 

Comments