<로직 고민>
- 그냥 너무 쉬운 방법밖에 안 떠오르는데....
- n개만큼 for문 돌리면서 x개씩 더한 값을 append 하면 되잖아..
- 첫 번째값은 x니까 answer = [x]로 먼저 선언해주고
- x 다음 인덱스는 x에 x를 더한 값 넣고 그 다음 인덱스는 이전 값에서 x를 더한 값 넣고..!
<완성된 코드>
def solution(x, n):
answer = [x]
for i in range(n - 1):
answer.append(answer[i] + x)
return answer
<다른 사람 풀이>
- 천재풀이1
def solution(x, n):
return [i * x + x for i in range(n)]
- 한 줄 코딩을 생각해보지 않은 것은 아니었으나...제한조건의 숫자가 큰 것으로 보아 실행시간을 단축시키는 게 좋을 것 같아서 관뒀다
- 한 줄로 코드를 쓰면 실행시간이 더 걸리기 때문이다
- 그나저나 answer = [x]로 첫 번째 값을 미리 넣을 거 없이 그냥 range(n) 하고 i * x + x 했으면 됐구나
- 역시 난 수학적인 머리가........잘 돌아가지 않는 것 같다
- 그래도 0번째 인덱스 연산 하는 것보다 그냥 처음부터 지정해주는 게 조금이나마 더 빠르지 않을까?!
- 어차피 첫 번째 값은 정해져 있는걸!!
- 천재풀이2
def solution(x, n):
if x == 0:
return [0] * n
else:
return list(range(x, x * (n + 1), x))
- 원래 내가 본 건 2~4번째 줄이 없었는데 문제가 개편되면서 x가 0인 경우를 고려해야 한다고 해서 2~4번째 줄은 내가 추가했다
- 이 방법이 내 풀이랑 천재풀이1이랑 비교하면 제일 실행시간이 짧게 나온다