NIRVANA

[level 1] x만큼 간격이 있는 n개의 숫자 본문

Coding test(Python3)/Programmers

[level 1] x만큼 간격이 있는 n개의 숫자

녜잉 2023. 7. 6. 13:44

문제

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

 

 

문제 풀이 접근법1

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

    return answer

다음과 같은 방법으로 접근하였는데 런타임 에러가 발생해서 틀렸다. 

아마도 x가 0일때는 코드가 예상대로 작동하지 않아서 그런 것 같다. 

 

 

문제 풀이 접근법2

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

    return answer

 

다음과 같이 x가 들어가도 괜찮도록 코드를 수정했다!

 

 


x, n = map(int, input().split())
answer = []

for i in range(x, x*(n+1), x):
    answer.append(i)
   
  
print(answer)

다른 분들의 풀이를 보다가 n+1에 ()를 씌우면 if-else문을 사용하지 않아도 된다는 걸 보고 

한번 해봤다 ㅎㅎ