9184번 - 신나는 함수 실행
dp를 만들기 위해
dp = [[[0]*21]*21]*21를 작성했는데 10 4 6 부근에서 자꾸 이상한 값이 나와서
dp = [[[0]*(21) for _ in range(21)] for _ in range(21)] 로 바꾸니까 정답이 나오기는 하는데
표현 방식만 다를 뿐 둘이 동일한 것 아닌가요? 도대체 어느부분에서 위의부분은 문제가 발생하는지 모르겠습니다.
전자의 경우에는 내부 리스트의 원소가 바뀔 시 다른 내부 리스트의 동일한 인덱스 원소도 변경됩니다.
객체의 특성과 얕은 복사, 깊은 복사의 개념에 대해 공부해보시면 좋을 것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
kim123mk 2년 전
dp를 만들기 위해
dp = [[[0]*21]*21]*21를 작성했는데 10 4 6 부근에서 자꾸 이상한 값이 나와서
dp = [[[0]*(21) for _ in range(21)] for _ in range(21)] 로 바꾸니까 정답이 나오기는 하는데
표현 방식만 다를 뿐 둘이 동일한 것 아닌가요? 도대체 어느부분에서 위의부분은 문제가 발생하는지 모르겠습니다.