자료구조알고리즘/문제풀이
[프로그래머스][Lv.1] x만큼 간격이 있는 n개의 숫자
포시
2022. 12. 23. 15:36
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12954
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이 A
def test(x, n):
answer = []
def loop(x, n):
if n == 0:
return
answer.append(x)
return loop(x+answer[0], n-1)
loop(x, n)
return answer
result = test(-4, 2)
print(result)
재귀함수를 적용해보자 하고 작성한 코드.
다른 테스트 다 잘 넘어가다가 마지막 두 테스트에서 런타임 에러가 걸렸다.
재귀하며 추가하는거 말고 다른 방법이 있나 생각해봐야겠다.
내 풀이 B
def solution(x, n):
answer = []
for i in range(1, n+1):
answer.append(x * i)
return answer
그냥 간단하게 for문 돌렸는데 위에서 발생한 런타임 에러도 안걸리고 다 통과됐다.
다른 풀이
def number_generator(x, n):
return [i * x + x for i in range(n)]
파이썬의 리스트 컴프리헨션을 사용한 코드인데 이 방법에 내가 푼 방법을 합치면
def solution(x, n):
return [ x * i for i in range(1, n+1) ]
이런식으로 풀 수 있다.
728x90