[파이썬 정복기] level 1 - x만큼 간격이 있는 n개의 숫자

_칟닌·2021년 12월 29일
0

프로그래머스

목록 보기
15/15
post-thumbnail

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


❗ 제한 조건

  • x는 -1000000 이상, 10000000 이하의 정수입니다.
  • n은 1000 이하인 자연수입니다.

💡 아이디어
1. x가 0인 경우와 0이 아닌 경우를 나누기 위해 if문을 사용한다.
2. answer 변수에 리스트를 사용해서 for문으로 값을 넣는다.
3. x가 0일 경우에는 0이 n번 들어감으로 0을 n개 넣어준다.


⌨️ 나의 해답

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

이 문제는 간단한 for문으로 해결이 가능하다.

문제는 test 8이 자꾸 런타임에러가 뜨는 것이었다.
알아보니 음수, 양수의 경우는 고려하였지만 0의 경우를 고려하지 않은 것이 문제였다.

0일 경우에 대한 testcase를 입력하여 실행해보았다.
x 값이 0이라 for문 자체가 실행되지 않아 리스트에 아무런 값도 넣어지지 않기 때문에 에러가 발생하였다.

if-else 구문을 사용하여 각 경우를 분리하여 리스트를 작성하니 이제서야 해결되었다.

이 문제도 문제 자체는 간단한데 작은 함정이 포함되어있다고 보면 될 것 같다.

profile
성장하는 대학생 개발자🙋‍♀️

0개의 댓글