처음 코드

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ㄹ() 로 빼려고 했다.

그러나 아래 에러가 발생한다..

image.png

</aside>

오 👍 아주 잘 접근했는데, 오류 메시지의 핵심은 이 부분이에요:

2_pow = 1
 ^
SyntaxError: invalid decimal literal

파이썬에서는 변수 이름이 숫자로 시작하면 안 돼요.

그래서 2_pow라는 변수명이 잘못된 거예요.


고치기

변수 이름을 pow2next_pow 같은 걸로 바꾸면 됩니다.

<aside> 💡

아……??

맞다.. 숫자로 시작하면 안되지…

</aside>

image.png