처음 코드

def solution(arr):
    stk = []
    i = 0
    while i < len(arr):
        for n in arr:
            if len(stk) == 0:
                stk.extend(n)
            elif stk[-1] == n:
                stk = stk[:-1]
            elif stk[-1] != n:
                stk.extend(n)
            else:
                return [-1]
        i += 1
    return stk

image.png

🔎 에러 원인

stk.extend(n)

✅ 해결 방법

  1. 정수 n을 그냥 하나의 원소로 넣고 싶다면 → append() 사용해야 함
  2. extend()[n]처럼 리스트로 감싸줘야 함

<aside> 💡

extend() 가 이터러블만 받을 수 있다는걸 계속 잊는댜.. 기억하자!!

</aside>

image.png

<aside> 💡

음.. return은 stk만 하려고 했는데, 이번에도 -1을 리턴하는 곳에서 걸렸다..

또한

i의 초기값을 0으로 설정하고 i가 arr의 길이보다 작으면 다음을 반복합니다.

이러한 조건이 있기래 while을 적었었는데, 굳이 필요가 있을까..

</aside>

지금 코드를 보면, while i < len(arr)for n in arr같이 쓰고 있어요.