사용 언어 - Python3
문제 - x만큼 간격이 있는 n개의 숫자
정답
단순 구현 (정답 맞춘 여부 O)
계속 테스트8에서 런타임 에러 발생
=> x가 0일 경우를 고려하지 않았기 때문이었다.
# 런타임 에러
def solution(x, n):
if x >= 0:
answer = [i for i in range(x,x*n+1,x)]
else:
answer = [i for i in range(x,x*n-1,x)]
return answer
# 런타임 에러
def solution(x, n):
answer = []
if x >= 0:
for i in range(x,x*n+1,x):
if len(answer) != n:
answer.append(i)
else:
for i in range(x,x*n-1,x):
if len(answer) != n:
answer.append(i)
return answer
# 런타임 에러
def solution(x, n):
answer = []
for i in range(abs(x),abs(x)*n+1,abs(x)):
if len(answer) != n and x >= 0:
answer.append(i)
elif len(answer) != n and x < 0:
answer.append(-i)
return answer
# 정답
def solution(x, n):
answer = []
if x == 0:
answer = [0]*n
elif x >= 0:
answer = [i for i in range(x,x*n+1,x)]
else:
answer = [i for i in range(x,x*n-1,x)]
return answer
# 정답
def solution(x, n):
answer = []
if x == 0:
answer = [0]*n
else:
for i in range(abs(x),abs(x)*n+1,abs(x)):
if len(answer) != n and x > 0:
answer.append(i)
elif len(answer) != n and x < 0:
answer.append(-i)
return answer
레퍼런스
- 정답 깃허브
'Algorithm > 구현' 카테고리의 다른 글
[프로그래머스 lv 1] 메뉴 리뉴얼 (0) | 2023.06.14 |
---|---|
[프로그래머스 lv 1] 행렬의 덧셈 (0) | 2023.05.31 |
[프로그래머스 lv 1] 직사각형 별찍기 (0) | 2023.05.31 |
[프로그래머스 lv 1] 소수 만들기 (0) | 2023.05.31 |
[프로그래머스 lv 1] 예산 (0) | 2023.05.30 |
댓글