알고리즘

[프로그래머스 lv 1] x만큼 간격이 있는 n개의 숫자.py

파뱁 2022. 1. 20. 23:13
728x90

<문제 설명>

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

 

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

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

programmers.co.kr

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴하면 되는 문제이다.

 

입출력의 예는 다음과 같다.

x n answer
2 5 [2,4,6,8,10]
4 3 [4,8,12]
-4 2 [-4, -8]

 

<문제 해결 아이디어>

x가 정수인 만큼 양수, 음수, 0의 경우의 수를 두고 코드를 구성해야 한다.

양수일 경우는 그대로 적용 시켜서 for문을 돌리면 되고, 음수 일 경우는 -를 적용시켜 코드를 작성하면 된다.

마지막으로 0일 경우인데, 이 경우는 0을 n개 만큼 리스트에 추가해 리턴해주면 된다.

 

<문제 풀이 코드>

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

채점 결과

ps. 처음에 x가 0인 걸 고려하지 않고 코드를 짜서 채점했을때 런타임 에러가 났다... 조건을 잘 확인하고 작성하자...

728x90
반응형