def solution(arr):
answer = []
2_pow = 1
while 2_pow <= len(arr):
2_pow *= 2
answer.extend(arr)
answer.extend([0] * (2_pow-len(arr)))
return answer
<aside> 💡
어제 간단하게 작성한 코드를 사용해보려고 한다. 일단 2의 거듭제곱 만큼의 길이를 알아야 하기 때문에 while로 돌려서 변수에 저장하고, 이 길이에서 - len(arr) 만큼 빼서 [0]으로 넣고, 이를 extendㄹ() 로 빼려고 했다.
그러나 아래 에러가 발생한다..
</aside>
오 👍 아주 잘 접근했는데, 오류 메시지의 핵심은 이 부분이에요:
2_pow = 1
^
SyntaxError: invalid decimal literal
파이썬에서는 변수 이름이 숫자로 시작하면 안 돼요.
그래서 2_pow
라는 변수명이 잘못된 거예요.
변수 이름을 pow2
나 next_pow
같은 걸로 바꾸면 됩니다.
<aside> 💡
아……??
맞다.. 숫자로 시작하면 안되지…
</aside>